js create Excel.xlsx download file 浏览器创建表格文件并下载导出

js create Excel.xlsx download file 浏览器创建表格文件并下载导出

Demo功能点:
  • 使用浏览器端js创建excel.xlsx文件
  • js生成了表格文件后,并下载xlsx文件
  • js操作表格的单元格并插入数据
  • js在表格中插入、修改文本、日期信息
  • 浏览器客户端新建表格文件并导出下载到磁盘上
  • exceljs 浏览器js demo 示例、例子、入门教程
demo 完整的源代码

使用到的技术点

  exceljs v4.3.0
    开源代码仓库 https://github.com/exceljs/exceljs
    CDN: https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-y/exceljs/4.3.0/exceljs.min.js
  JavaScript


Demo 代码 source code

<script src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-y/exceljs/4.3.0/exceljs.min.js"></script>

<script>
  async function getExcelFile(inputElement) {

    var workbook = new ExcelJS.Workbook();
    workbook.addWorksheet('sheet表');

    console.log(workbook);

    sheet = workbook.worksheets[0]
    sheet.getCell('A1').value = 'test demo100'
    sheet.getCell('A2').value = 'js create excel demo'
    sheet.getCell('B2').value = new Date()

    console.log(sheet.getRow(2));
    console.log(sheet.getRow(2).values); // 第2行全部数据
    console.log(sheet.getRow(2).getCell(2).value); // 第2行 第2列

    const buffer = await workbook.xlsx.writeBuffer()

    var blob = new Blob([buffer])

    saveFile(blob, 'demo100-js-create-excel.xlsx')
  }

  function saveFile(file, filename) {
    var a = document.createElement('a');
    a.href = URL.createObjectURL(file)
    a.setAttribute('download', filename || 'data.txt');
    a.style.display = 'none';

    document.body.appendChild(a);
    a.click();
    document.body.removeChild(a);
  }
</script>

代码说明

sheet.getCell('A1').value // 获取表格的单元格的数据

sheet.getCell('A2').value = 'js create excel demo' // 获取表格的单元格的数据