github 地址:https://github.com/SheetJS/sh…
应用完整版,外面蕴含了所有模块
我是将文件下载到本地,在我的项目中间接援用,也能够 CND 援用。
<script src="https://unpkg.com/xlsx/dist/xlsx.full.min.js"></script>
// 读取(本地或网络)文件,并创立一个工作薄
const workbook = XLSX.read(data, opts);
// 创立一个新的工作簿
const workbook = XLSX.utils.book_new();
// 将 Array<Object> 生成为 sheet,其中蕴含基于对象键主动生成的“题目”。//header 题目应用指定的字段程序(默认 Object.keys)//skipHeader 如果为 true,则不会在输入中蕴含题目行
const worksheet = XLSX.utils.json_to_sheet(Array<Object>, {header, skipHeader: false});
// 将 Array<Array> 生成为 sheet
const worksheet = XLSX.utils.aoa_to_sheet(Array<Array>);
// 承受一个表 DOM 元素并返回一个相似于输出表的工作表。const worksheet = XLSX.utils.table_to_sheet(DOM)
// 更新 sheet,在对应地位进行笼罩
XLSX.utils.sheet_add_json(worksheet, Array<Object>, {header,skipHeader: true, origin: "A2"});
XLSX.utils.sheet_add_aoa(worksheet, Array<Array>, { origin: "A1"});
XLSX.utils.sheet_add_dom(worksheet, DOM, { origin: -1});
// 将 sheet 工作表增加到该工作薄中
XLSX.utils.book_append_sheet(workbook, worksheet, "sheet 名称");
// 将 sheet 生成对应格局的数据
let svg = XLSX.utils.sheet_to_csv(worksheet)
let html = XLSX.utils.sheet_to_html(worksheet)
let json = XLSX.utils.sheet_to_json(worksheet)
// 输入对应的数据编码,进行下载或上传
//workbook.SheetNames,workbook.Sheets 必传
let data = XLSX.write(workbook, opts);
workbook.SheetNames 是工作表名称的有序列表
workbook.Sheets 是一个对象,其键是工作表名称,其值是工作表对象
- worksheet[‘!ref’]:示意工作表范畴的基于 A-1 的范畴。应用工作表的函数应应用此参数来确定范畴。调配在范畴之外的单元格不会被解决。特地是在手写工作表时,不包含范畴之外的单元格。
- worksheet[‘!merges’]:对应于工作表中合并单元格的范畴对象数组。纯文本格式不反对合并单元格。CSV 导出将写入合并范畴内的所有单元格(如果存在),因而请确保仅设置范畴内的第一个单元格(左上角)。
- 单元格范畴对象存储为 {s:S, e:E} 其中 S 是第一个单元格,E 是范畴中的最初一个单元格。单元格地址对象存储为 {c:C, r:R} 其中 C 和 R 别离是列号和行号,索引从 0 开始。例如,单元格地址 A1 由对象 {c:0, r:0} 示意,范畴 A3:B7 由对象 {s:{c:0, r:2}, e:{c:1, r:6}} 示意。
- worksheet[‘!cols’]:列属性对象的数组。列宽实际上以标准化形式存储在文件中,以“最大数字宽度”(渲染数字 0-9 的最大宽度,以像素为单位)来掂量。解析时,列对象将像素宽度存储在 wpx 字段中,将字符宽度存储在 wch 字段中,将最大数字宽度存储在 MDW 字段中。
- 单元格对象 是以相似 A1 的模式展现的,排除蕴含! 的。
- worksheet[‘!rows’]:行属性对象的数组,如文档前面所述。每个行对象都对包含行高和可见性在内的属性进行编码。
// 列属性
type ColInfo = {
/* 可见性 */
hidden ?: boolean ; // 如果为真,则暗藏列
/* 列宽以下列形式之一指定:*/
wpx ?: number ; // 屏幕像素
width ?: number ; // Excel 的“最大数字宽度”中的宽度,width*256 是整数
wch ?: number ; // 字符宽度
/* 用于保留文件特色的其余字段 */
level ?: number ; // 0 索引纲要 / 组级别
MDW ?: number ; // Excel 的“最大数字宽度”单位,总是整数
} ;
// 行属性
type RowInfo = {
/* 可见性 */
hidden ?: boolean ; // 如果为真,则暗藏行
/* 行高通过以下形式之一指定:*/
hpx ?: number ; // 屏幕像素高度
hpt ?: number ; // 高度(以点为
level ?: number ; // 0 索引纲要 / 组级别
} ;
Key |
形容 |
v |
原始值(无关详细信息,请参阅数据类型局部) |
w |
格式化文本(如果实用) |
t |
类型:b 布尔值,e 谬误,n 数字,d 日期,s 文本,z 存根 |
f |
编码为 A1 款式字符串的单元格公式(如果实用) |
F |
如果公式是数组公式,则关闭数组的范畴(如果实用) |
D |
如果为真,则数组公式是动静的(如果实用) |
r |
富文本编码(如果实用) |
h |
富文本的 HTML 出现(如果实用) |
c |
与单元格相干的评论 |
z |
与单元格关联的数字格局字符串(如果须要) |
l |
单元格超链接对象 (.Target 持有链接,.Tooltip 是工具提醒) |
s |
单元格的款式 / 主题(如果实用)。ps: 从文件读取时默认不提取行和列属性,写入文件时默认不保留。选项 cellStyles: true 必须传递给相干的读取或写入函数。 |
选项名称 |
默认 |
形容 |
type |
|
输出数据编码(参见上面的输出类型) |
raw |
false |
如果为 true,纯文本解析将不会解析值 ** |
codepage |
|
如果指定,请在适当时应用代码页 ** |
cellFormula |
true |
将公式保留到 .f 字段 |
cellHTML |
true |
解析富文本并将 HTML 保留到 .h 场地 |
cellNF |
false |
将数字格局字符串保留到 .z 场地 |
cellStyles |
false |
将款式 / 主题信息保留到 .s 场地 |
cellText |
true |
生成的格式化文本到 .w 场地 |
cellDates |
false |
将日期存储为类型 d(默认为 n) |
dateNF |
|
如果指定,请应用字符串作为日期代码 14 ** |
sheetStubs |
false |
创立类型的单元格对象 z 对于存根细胞 |
sheetRows |
0 |
如果 >0,则读取第一个 sheetRows 行 ** |
bookDeps |
false |
如果为真,则解析计算链 |
bookFiles |
false |
如果为 true,则将原始文件增加到 book 对象 ** |
bookProps |
false |
如果为真,则仅解析足以获取图书元数据 ** |
bookSheets |
false |
如果为真,则仅解析足以获取工作表名称 |
bookVBA |
false |
如果为真,则将 VBA blob 复制到 vbaraw 场地 ** |
password |
“” |
如果已定义且文件已加密,请应用明码 ** |
WTF |
false |
如果为真,则在意外的文件性能上抛出谬误 ** |
sheets |
|
如果指定,则仅解析指定的工作表 ** |
PRN |
false |
如果为真,则容许解析 PRN 文件 ** |
xlfn |
false |
如果属实,请保留 _xlfn. 公式中的前缀 ** |
FS |
|
DSV 字段分隔符笼罩 |
选项名称 |
默认 |
形容 |
type |
|
输入数据编码(见上面的输入类型) |
cellDates |
false |
将日期存储为类型 d(默认为 n) |
bookSST |
false |
生成共享字符串表 ** |
bookType |
“xlsx” |
工作簿类型(无关反对的格局,请参见下文) |
sheet |
“” |
单张格局的工作表名称 ** |
compression |
false |
对基于 ZIP 的格局应用 ZIP 压缩 ** |
Props |
|
写入时笼罩工作簿属性 ** |
themeXLSX |
|
编写 XLSX/XLSB/XLSM 时笼罩主题 XML ** |
ignoreEC |
true |
克制“数字作为文本”谬误 ** |
numbers |
NUMBERS |
导出的无效负载 ** |
type |
预期 |
“base64” |
string:文件的 Base64 编码 |
“binary” |
字符串:二进制字符串(字节 n 是 data.charCodeAt(n)) |
“string” |
string:JS 字符串(字符解释为 UTF8) |
“buffer” |
节点缓冲区 |
“array” |
数组:8 位无符号整数数组(字节 n 是 data[n]) |
“file” |
字符串:将被读取的文件门路(仅限 nodejs) |
origin |
形容 |
(cell object) |
应用指定单元格(单元格对象) |
(string) |
应用指定单元格(A1 款式单元格) |
(number >= 0) |
从指定行的第一列开始(0-indexed) |
-1 |
从第一列开始附加到工作表的底部 |
(default) |
从单元格 A1 开始 |
选项名称 |
默认 |
形容 |
raw |
true |
应用原始值 (true) 或格式化字符串 (false) |
range |
来自 WS |
覆盖范围(见下表) |
header |
|
管制输入格局(见下表) |
dateNF |
FMT 14 |
在字符串输入中应用指定的日期格局 |
defval |
|
应用指定值代替 null 或 undefined |
blankrows |
** |
在输入中蕴含空行 ** |
range |
形容 |
(number) |
应用工作表范畴,但将起始行设置为值 |
(string) |
应用指定范畴(A1 款式的有界范畴字符串) |
(default) |
应用工作表范畴 (worksheet[‘!ref’]) |
默认状况下,sheet_to_json 扫描第一行并将值用作题目。应用 header: 1 选项,该函数导出一个值数组的数组。
header |
形容 |
1 |
生成数组数组(“二维数组”) |
“A” |
行对象键是文字列标签 |
array of strings |
应用指定的字符串作为行对象中的键 |
(default) |
将第一行作为键读取并打消歧义 |