@File

. 文件选择是一种特殊的<input>,类型为file
. 用来选择指定类型的文件
<input type="file" name="" id="" multiple accept="">
file:作为文件选择,input类型应指定为file
multiple:默认选择单个文件;多选时应指定multiple
accept:是选择文件的类型,类型之间使用,分割,也可以使用通配符*
类别 说明
text/* plain|css|csv|html|javascript|rtf|xml
image/* jpg|png|gif|jpeg|tiff
application/* json|xml-dtd|rtf|msword|vnd.ms-powerpoint|vnd.ms-excel|xml|zip
audio/* ac3|mpeg|mp3|
video/* mpeg|mp4|
事件 FileReader
图片的使用 Image
办公文档 OA
. 办公文档使用比较多的是txt和excel
[] 读取本地文本文件并显示其内容
[文件内容]
HTML
<input type="file" id="txt-ipt" accept="text/*">
<div id='txt-cont'>.</div>
JavaScript
let txtIpt = document.querySelector('#txt-ipt')
let txtCont = document.querySelector('#txt-cont')
txtIpt.addEventListener('change', function () {
    let file = this.files[0]
    let fr = new FileReader()
    fr.readAsText(file)
    fr.onload = function (e) {
        console.log(e.target.result);
        txtCont.innerHTML = e.target.result
    }
})
[] 读取OA文档-excel
. 借助第三方库SheetJS Community Edition实现
. 提示:请选择excel文档
HTML
<input type="file" name="excel" id="excel-ipt" accept="application/*">
JavaScript
let excelCont = document.querySelector('#excel-cont')
let excel = document.querySelector('#excel')
excel.addEventListener('change', function () {
    let fr = new FileReader()
    fr.readAsArrayBuffer(this.files[0])
    fr.addEventListener('load', function () {
        let res = this.result;
        let workbook = XLSX.read(res, { type: 'array' });
        let sheetName = workbook.SheetNames[0];
        let sheet = workbook.Sheets[sheetName];
        console.log(sheet);
        excelCont.innerHTML = XLSX.utils.sheet_to_html(sheet);
    })
})
//请查看sheet内容,定制excel文档
[] 表格table转换为OA文档-excel
. 借助第三方库sheetJS实现
name age unit cell email
gl gz nj sz cq
hz bj xm lz sz
sh sy nn zz wh
JavaScript
let tblBtn = document.querySelector('#tblBtn')
let tbl = document.querySelector('#tbl')
tblBtn.addEventListener('click', () => {
    let tblBook = XLSX.utils.table_to_book(tbl);
    XLSX.writeFile(tblBook, 'out.xlsx');
})
文件拖拽 Drag
总结与作业 Summary & Homework
总结
. file的使用:定制和拖拽
作业
定制个人头像和相册,并更新到个人网站
根据提供的学生花名册文档定制内容并展示