javascript - 无法使用javascript将xlsx文件转换为json

标签 javascript json excel

我正在尝试将 xls 文件转换为 json,我可以成功转换它,但是当我尝试将 xlsx 文件转换为 json 时,出现错误“未捕获的 header 签名:预期 d0cf11e0a1b11ae1 看到 504b030414000808”。

索引.html

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>XL to JSON</title>

    <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
    <script src=" https://cdnjs.cloudflare.com/ajax/libs/xls/0.7.4-a/xls.js"></script>
</head>
<body>
    <input type="file" id="my_file_input" />
    <div id='my_file_output'></div>

    <script>
        var oFileIn;

        $(function() {
            oFileIn = document.getElementById('my_file_input');
            if(oFileIn.addEventListener) {
                oFileIn.addEventListener('change', filePicked, false);
            }
        });


        function filePicked(oEvent) {
            // Get The File From The Input
            var oFile = oEvent.target.files[0];
            var sFilename = oFile.name;
            // Create A File Reader HTML5
            var reader = new FileReader();

            // Ready The Event For When A File Gets Selected
            reader.onload = function(e) {
                var data = e.target.result;
                var cfb = XLS.CFB.read(data, {type: 'binary'});
                var wb = XLS.parse_xlscfb(cfb);
                // Loop Over Each Sheet
                wb.SheetNames.forEach(function(sheetName) {
                    // Obtain The Current Row As CSV
                    var sCSV = XLS.utils.make_csv(wb.Sheets[sheetName]);
                    var oJS = XLS.utils.sheet_to_row_object_array(wb.Sheets[sheetName]);

                    $("#my_file_output").html(sCSV);
                    console.log(oJS)
                });
            };

            // Tell JS To Start Reading The File.. You could delay this if desired
            reader.readAsBinaryString(oFile);
        }
    </script>
</body>
</html>

任何人都可以告诉我应该如何解决这个问题。我严重陷入这个问题。提前致谢。

最佳答案

您正在使用的 xls 库不支持 xlsx 文件。请使用更新后的版本:

https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/xlsx.js

您可以找到有关此 here 的更多详细信息和文档.

关于javascript - 无法使用javascript将xlsx文件转换为json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38396539/

相关文章:

javascript - 对于 Prisma Client 连接查询,是否可以将深度嵌套的字段移动到结果的顶层?

c# - 在我的 Controller 中将部分 View 制作为 html "string",用于 json 请求

c# - 在终端中 Debug模式下的 VBA 编辑器的屏幕截图,或使用 Excel DOM 在 VBA 编辑器中查找错误行和 desc?

javascript - 如何在json文件中添加或插入记录

javascript - MDN bind polyfill 中一行的解释

python - 随机 "int is not subscriptable"行为

excel - 跳过 IF/CountIf 中的单元格

javascript - MooTools 垂直对齐插件功能

javascript - 如何处理 onClick 而不是 href <a>

excel - 在 Excel 中将一系列数字转换为字母