gpt4 book ai didi

javascript - 使用单元格格式将数组导出到 excel 文件

转载 作者:数据小太阳 更新时间:2023-10-29 04:47:45 30 4
gpt4 key购买 nike

我目前正在尝试将数组导出到具有单元格格式的 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

最后两行基本上是代码的一部分

XLSX.writeFile(wb, 'sheetjs.xlsx');

我知道 wb 不是未定义的,就像我尝试对它执行 console.log 一样,excel 电子表格正确显示:|

有人可以帮我解决这个问题吗?我还试图让每个单元格具有不同的格式(IE 不同的颜色/粗体/填充/等)

最佳答案

您的代码基于 node.js 测试。 documentation状态:

Writing Workbooks

For writing, the first step is to generate output data. The helper functions write and writeFile will produce the data in various formats suitable for dissemination. The second step is to actual share the data with the end point. Assuming workbook is a workbook object:

nodejs write to file:

/* output format determined by filename */
XLSX.writeFile(workbook, 'out.xlsx');
/* at this point, out.xlsx is a file that you can distribute */

write to binary string (using 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()),您应该没问题。

关于javascript - 使用单元格格式将数组导出到 excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27548378/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com