解析C#使用js-xlsx生成OpenXML xlsx

时间:2015-09-22 08:15:13

标签: javascript c# excel xlsx

我在我的解决方案中生成.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);
 }

1 个答案:

答案 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文件中。