使用单元格格式将数组导出到 excel 文件
Exporting an array to excel file with cell formatting
我目前正在尝试将数组导出到具有单元格格式的 excel 文件。
我从下面的代码开始:
https://github.com/SheetJS/js-xlsx/blob/master/tests/write.js
但问题是,每当我尝试导出它(将文件另存为 xlsx 文件(时,这就是控制台中显示的错误:
Uncaught TypeError: Cannot read property 'writeFileSync' of undefined xlsx.js:5182
writeSync xlsx.js:5182
writeFileSync xlsx.js:5173
process_xlsx Test.html:379
reader.onload Test.html:438
最后 2 行基本上是代码的一部分,它说
XLSX.writeFile(wb, 'sheetjs.xlsx');
我知道wb不是未定义的,就好像我尝试做控制台一样.log其中,excel电子表格正确显示:|
有人可以帮助我吗?我还尝试让每个单元格具有不同的格式(IE 不同的颜色/粗体/填充/等(
你的代码基于节点.js测试。文档指出:
编写工作簿
对于写入,第一步是生成输出数据。帮手 函数 write 和 writeFile 将生成各种格式的数据 适合传播。第二步是实际分享 具有终点的数据。假设工作簿是工作簿对象:
nodejs 写入文件:
/* output format determined by filename */
XLSX.writeFile(workbook, 'out.xlsx');
/* at this point, out.xlsx is a file that you can distribute */
写入二进制字符串(使用 FileSaver.js(:
/* bookType can be 'xlsx' or 'xlsm' or 'xlsb' */
var wopts = { bookType:'xlsx', bookSST:false, type:'binary' };
var wbout = XLSX.write(workbook,wopts);
function s2ab(s) {
var buf = new ArrayBuffer(s.length);
var view = new Uint8Array(buf);
for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
return buf;
}
/* the saveAs call downloads a file on the local machine */
saveAs(new Blob([s2ab(wbout)],{type:""}), "test.xlsx")
所以总结一下:你试图在浏览器中使用node.js内部函数,但失败了。如果你尝试遵循秒的方法(XLSX.write()
而不是XLSX.writeFile()
(,你应该没问题。
相关文章:
- 将HTML表格导出到excel时,无法将数据加载到excel文件中
- 将JQuery Handontable保存到服务器上的excel文件中
- 生成的excel文件url
- CSV、PDF、Excel文件在dataTables的导出扩展中作为blob下载
- 使用JavaScript调用Excel文件
- 将JSON数据格式化为excel文件
- 如何使用 javascript 创建和编辑 excel 文件
- Javascript JSON 到 Excel 文件下载
- 使用node.js读取Excel文件
- 通过javascript用java处理excel文件
- 从javascript打开excel文件并传递参数
- Apache poi XSSF创建Excel文件-Create返回格式或文件扩展名无效的空文件
- 如何使用SheetJS从外部链接解析Excel文件(AmazonS3)
- 如何使用html中的javascript代码解析Excel文件
- 导出时如何重命名excel文件
- 如何在java web应用程序中捕获关闭打开的excel文件的事件
- 创建/下载一个带有chrome扩展名的excel文件
- 我想将任何xml文件导出到excel文件(xls或制表符分隔)
- 通过javascript保存带有当前日期和时间的excel文件
- 验证excel文件上传