如何在 Javascript/HTML5 中解析 Excel (XLS) 文件

新手上路,请多包涵

我可以通过 FileReader 读取 Excel 文件,但它会输出文本以及奇怪的字符。我需要逐行读取 xls 文件,读取每一列中的数据并将其转换为 JSON。

如何逐行读取xls文件?

原文由 ducktyped 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

下面的函数将 Excel 工作表(XLSX 格式)数据转换为 JSON。您可以向函数添加承诺。

 <script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/jszip.js"></script>
 <script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/xlsx.js"></script>
 <script>
 var ExcelToJSON = function() {

 this.parseExcel = function(file) {
 var reader = new FileReader();

 reader.onload = function(e) {
 var data = e.target.result;
 var workbook = XLSX.read(data, {
 type: 'binary'
 });

 workbook.SheetNames.forEach(function(sheetName) {
 // Here is your object
 var XL_row_object = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
 var json_object = JSON.stringify(XL_row_object);
 console.log(json_object);

 })

 };

 reader.onerror = function(ex) {
 console.log(ex);
 };

 reader.readAsBinaryString(file);
 };
 };
 </script>

下面的帖子有 XLS 格式 Excel 到 JSON javascript 代码的代码?

原文由 Peru 发布,翻译遵循 CC BY-SA 4.0 许可协议

老问题,但我应该注意到从 javascript 解析 XLS 文件的一般任务是乏味和困难的,但并非不可能。

我有用纯 JS 实现的基本解析器:

这两个页面都是 HTML5 文件 API 驱动的 XLS/XLSX 解析器(您可以拖放文件,它将以逗号分隔列表的形式打印出单元格中的数据)。您还可以生成 JSON 对象(假设第一行是标题行)。

测试套件 http://oss.sheetjs.com/ 显示了一个使用 XHR 获取和解析文件的版本。

原文由 SheetJS 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏