Exceljs 与 Sheetjs(xlsx.js)、 xlsx-populate.js 解析xlsx表格的性能对比、耗时对比

SheetJS xlsx.js、Exceljs.js、xlsx-populate.js 都可以在浏览器环境、Node.js中使用。
这几个excel 开源javascript库,可以相互对比一下。SheetJS拥有最好的性能,非常丰富的API,但是缺点是非常明显:Github社区免费开源版本无法支持Excel的样式操作。如果你需要设置Excel表格的样式,建议使用Exceljs。
你可以在浏览器开发工具中查看解析Excel xlsx文件的耗时、性能的详细比较。

xlsx.js示例

版本号: v0.14.3
Github: https://github.com/SheetJS/js-xlsx
NPM: https://www.npmjs.com/package/xlsx
CDN: https://cdn.jsdelivr.net/npm/xlsx@0.14.3/dist/xlsx.full.min.js

快速试用 SheetJS xlsx.js

选择一个Excel文件,马上能看到内容:

使用教程:

// <input type="file" onchange="parseExcelFile1(this)">
function parseExcelFile1(inputElement) {
  var files = inputElement.files || [];
  if (!files.length) return;
  var file = files[0];

  console.time();
  var reader = new FileReader();
  reader.onloadend = function(event) {
    var arrayBuffer = reader.result;
    // debugger

    var options = { type: 'array' };
    var workbook = XLSX.read(arrayBuffer, options);
    console.timeEnd();

    var sheetName = workbook.SheetNames
    var sheet = workbook.Sheets[sheetName]
    result1.innerHTML = XLSX.utils.sheet_to_html(sheet)
  };
  reader.readAsArrayBuffer(file);
}

相关主题

SheetJS xlsx.js 在web浏览器上怎么使用
SheetJS xlsx.js 入门使用教程
Using SheetJS xlsx.js in a browser(tutorial)
javascript操作Excel xlsx表格的库
前端js读取excel xlsx文档
在浏览器上使用js预览excel xlsx表格
在网页上渲染excel xlsx电子表格


exceljs示例

版本号: v1.13.0
Github: https://github.com/exceljs/exceljs
NPM: https://www.npmjs.com/package/exceljs
CDN: https://cdn.jsdelivr.net/npm/exceljs@1.13.0/dist/exceljs.min.js

快速试用 exceljs.js

选择一个Excel文件,马上能看到内容:

使用教程:

// <input type="file" onchange="parseExcelFile2(this)">
function parseExcelFile2(inputElement) {
  var files = inputElement.files || [];
  if (!files.length) return;
  var file = files[0];

  console.time();
  var reader = new FileReader();
  reader.onloadend = function(event) {
    var arrayBuffer = reader.result;
    // var buffer = Buffer.from(arrayBuffer)
    // debugger

    var workbook = new ExcelJS.Workbook();
    // workbook.xlsx.read(buffer)
    workbook.xlsx.load(arrayBuffer).then(function(workbook) {
      console.timeEnd();
      var result = ''
      workbook.worksheets.forEach(function (sheet) {
        sheet.eachRow(function (row, rowNumber) {
          result += row.values + ' | \n'
        })
      })
      result2.innerHTML = result
    });
  };
  reader.readAsArrayBuffer(file);
}

相关主题

exceljs在web浏览器上怎么使用
exceljs 入门使用教程
Using exceljs in a browser(tutorial)
javascript操作Excel xlsx表格的库
前端js读取excel xlsx文档
在浏览器上使用js预览excel xlsx表格
在网页上渲染excel xlsx电子表格


xlsx-populate.js示例

版本号: v1.19.1
Github: https://github.com/dtjohnson/xlsx-populate
NPM: https://www.npmjs.com/package/xlsx-populate
CDN: https://cdn.jsdelivr.net/npm/xlsx-populate@1.19.1/browser/xlsx-populate.min.js

快速试用 xlsx-populate.js

选择一个Excel文件,马上能看到内容:

使用教程:

// <input type="file" onchange="parseExcelFile3(this)">
function parseExcelFile3(inputElement) {
  var files = inputElement.files || [];
  if (!files.length) return;
  var file = files[0];

  console.time();
  XlsxPopulate.fromDataAsync(file).then(function(workbook) {
    console.timeEnd();
    // debugger
    var sheet = workbook.sheet(0)
    var rows = sheet._rows
    var result = ''
    rows.forEach(function (row) {
      row._cells.forEach(function (cell) {
        result += cell.value() || ''
      })
      result += ' | \n'
    })

    result3.innerHTML = result
  });
}

相关主题

xlsx-populate.js在web浏览器上怎么使用
xlsx-populate.js 入门使用教程
Using xlsx-populate.js in a browser(tutorial)
javascript操作Excel xlsx表格的库
前端js读取excel xlsx文档
在浏览器上使用js预览excel xlsx表格
在网页上渲染excel xlsx电子表格


你可以在浏览器开发工具中查看解析Excel xlsx文件的耗时、性能的详细比较。


Javascript Excel(XLSX) libraries Demo