用js-xlsx解析c#生成的openxmlxlsx
本文关键字:openxmlxlsx js-xlsx 解析 | 更新日期: 2023-09-27 18:13:57
我在我的解决方案中生成。xlsx文档并将它们发送给用户,当使用js-xlsx解析时,它们有零单元格,这可以通过使用Excel打开生成的。xlsx并保存它们来修复。
我希望能够直接用js-xlsx解析我生成的。xlsx文档。
保存到.xlsx:
var ms = new MemoryStream();
workbook.SaveAs(ms);
ms.Seek(0, SeekOrigin.Begin);
return ms;var ms = new MemoryStream();
使用js-xlsx打开.xlsx的代码:
function readBook(file) {
var reader = new FileReader();
reader.onload = function (e) {
var data = e.target.result;
var workbook = XLSX.read(data, { type: 'binary' });
console.log(workbook);
};
reader.readAsBinaryString(file);
}
我发现c# OpenXML在所有字符串xml标签前面添加了'x:',这可以通过替换'x:'标签在js-xlsx中修复。
简单地说:
data = data.replace(new RegExp('x:', 'g'), '');
into function parse_ws_xml(data, opts, rels)函数parse_sst_xml(data, opts)
Todo:做一个修复,允许你在你的。xlsx文件中有包含'x:'的字符串