使用 js-xlsx 进行 Excel 导出

飞翔的鱼 2025-02-08 ⋅ 102 阅读

引言

在前端开发中,有时候需要将数据导出为 Excel 文件以供用户下载。js-xlsx 是一个功能强大的 JavaScript 库,可以在浏览器端处理 Excel 文件。本文将介绍如何使用 js-xlsx 进行 Excel 导出的步骤,并给出一些示例代码。

安装 js-xlsx

首先,在项目根目录下运行以下命令来安装 js-xlsx:

npm install xlsx --save

导出 Excel

假设你已经有了一个包含数据的 JavaScript 对象,现在我们将这些数据导出为 Excel 文件。

首先,我们需要引入 js-xlsx:

import XLSX from 'xlsx';

下面是一个简单的示例,展示了如何将数据导出为 Excel 文件:

function exportToExcel(data) {
  // 创建工作簿
  const workbook = XLSX.utils.book_new();

  // 创建工作表
  const worksheet = XLSX.utils.json_to_sheet(data);

  // 将工作表添加到工作簿
  XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');

  // 将工作簿转换为二进制数据
  const excelData = XLSX.write(workbook, { type: 'binary' });

  // 创建下载链接并自动触发下载
  const blob = new Blob([s2ab(excelData)], { type: 'application/octet-stream' });
  const url = URL.createObjectURL(blob);
  const a = document.createElement('a');
  a.href = url;
  a.download = 'data.xlsx';
  a.click();
  URL.revokeObjectURL(url);
}

function s2ab(s) {
  const buf = new ArrayBuffer(s.length);
  const view = new Uint8Array(buf);
  for (let i = 0; i !== s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
  return buf;
}

示例

假设我们有一个包含学生信息的数组:

const students = [
  { name: 'Alice', age: 20, grade: 'A' },
  { name: 'Bob', age: 21, grade: 'B' },
  { name: 'Charlie', age: 22, grade: 'A' },
  { name: 'David', age: 23, grade: 'C' },
];

我们可以通过调用 exportToExcel(students) 方法将该数组导出为 Excel 文件。

结论

本文介绍了如何使用 js-xlsx 进行 Excel 导出。你可以通过调用相应的 API 将数据导出为 Excel 文件,并提供给用户下载。js-xlsx 是一个功能强大的库,可以很方便地在浏览器端处理 Excel 文件。

希望本文能帮助你完成 Excel 导出的需求。


全部评论: 0

    我有话说: