代码拉取完成,页面将自动刷新
xlsx 格式数据导入/导出支持包。
npm install @wangankeji/xlsxio
import {WorkbookDef, SheetDef, ColumnDef, ColumnEnum} from 'xlsxio'
const wb = new WorkbookDef([
new SheetDef('Sheet1', [
new ColumnDef('列名称', '字段名称', {
help: '此列的帮助信息',
headerStyle: {
width: 20,
size: 12
}
}),
], {
help: '此表的帮助信息'
}),
new SheetDef('Sheet2', [
new ColumnDef('列名称', '字段名称', {
help: '此列的帮助信息'
}),
])
])
// 从文件导入数据, file 是通过 <input type="file" /> 选择的文件
const data = wb.read(file)
// 将数据写入文件,可以通过第二个参数指定文件名,指定时会下载文件
const blobData = wb.write([{
name: 'Sheet1',
rows: []
}, {
name: 'Sheet2',
rows: []
}])
// 下载导入模板文件
// true 表示需要输出帮助信息
wb.write([], '模板文件名', true)
rows
是表格的数据集合。每行的数据可以是与 ColumnDef 对应的 object
,也可以是一个简单 array
。
详细用法见 src/App.vue
WorkbookDef
工作薄定义对象,这是操作 Excel 的入口SheetDef
表定义对象,一个工作薄中可以包含多个表ColumnDef
列定义对象,一个表中可以包含多个列为了让单元格注释能自动适应内容大小,对原始的输出进行了处理:
文件 xl/drawings/vmlDrawing2.vml
<v:textbox><div style="text-align:left;"></div></v:textbox>
// 替换为
<v:textbox style="mso-fit-shape-to-text:t"><div style="text-align:left;"></div></v:textbox>
需要关注 PR #1933,若其被合并,
则需要移除此操作,并在输出注释参数上添加 autoShape: true
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型