我在我的解决方案中生成.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);
}
答案 0 :(得分:0)
我发现c#OpenXML添加了' x:'在所有字符串xml标签的前面,这可以通过替换' x:'来修复js-xlsx。标签
简单地说:
data = data.replace(new RegExp('x:', 'g'), '');
进入函数parse_ws_xml(data,opts,rels) 和函数parse_sst_xml(data,opts)
Todo:做一个修复,允许你有包含' x:'在.xlsx文件中。