📜  将excel表格角度数组导出到excel - Javascript(1)

📅  最后修改于: 2023-12-03 15:09:33.213000             🧑  作者: Mango

将Excel表格角度数组导出到Excel - JavaScript

在某些情况下,我们需要将Excel表格转换为数组并将其导出到Excel。我们可以使用JavaScript和其它相关的库来完成这个任务。

第一步:安装依赖

我们需要使用以下库来达成这个目标:

  • SheetJS:一个用于解析和创建Excel表格的库。
  • FileSaver:一个用于在客户端保存文件的库。
`npm install --save sheetjs filesaver`
第二步:将Excel表格转换为角度数组

我们使用SheetJS中的XLSX对象来将Excel表格转换为角度数组。

import XLSX from 'xlsx';

const workbook = XLSX.readFile('example.xlsx');
const worksheet = workbook.Sheets[workbook.SheetNames[0]];
const data = XLSX.utils.sheet_to_json(worksheet, { header: 1 });

在这段代码中,我们使用XLSX.readFile()方法来读取Excel文件,然后通过workbook.Sheets属性获取第一个工作表,最后通过XLSX.utils.sheet_to_json()将这个工作表转换为角度数组。

第三步:导出数组到Excel文件

我们使用SheetJS的writeFile()方法将数组导出到Excel文件,并使用FileSaver的saveAs()方法在客户端保存文件。

import { writeFile } from 'xlsx';
import { saveAs } from 'file-saver';

const arrayToExcel = (array, filename) => {
  const worksheet = XLSX.utils.aoa_to_sheet(array);
  const workbook = XLSX.utils.book_new();
  XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
  writeFile(workbook, `${filename}.xlsx`);
  saveAs(new Blob([workbook], { type: 'application/vnd.ms-excel' }), `${filename}.xlsx`);
};

在这段代码中,我们将角度数组转换为SheetJS中的工作表对象,并使用XLSX.utils.book_new()创建一个新的工作簿。然后,我们使用XLSX.utils.book_append_sheet()将工作表添加到工作簿中并使用writeFile()将其写入Excel文件。最后,我们使用FileSaver的saveAs()方法将文件保存到客户端。

完整代码示例
import XLSX from 'xlsx';
import { writeFile } from 'xlsx';
import { saveAs } from 'file-saver';

const arrayToExcel = (array, filename) => {
  const worksheet = XLSX.utils.aoa_to_sheet(array);
  const workbook = XLSX.utils.book_new();
  XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
  writeFile(workbook, `${filename}.xlsx`);
  saveAs(new Blob([workbook], { type: 'application/vnd.ms-excel' }), `${filename}.xlsx`);
};

const workbook = XLSX.readFile('example.xlsx');
const worksheet = workbook.Sheets[workbook.SheetNames[0]];
const data = XLSX.utils.sheet_to_json(worksheet, { header: 1 });

arrayToExcel(data, 'output');

这个示例程序将example.xlsx文件中的第一个工作表转换为角度数组,然后将这个数组导出到一个名为output.xlsx的Excel文件,并将其保存到客户端。

总结

我们使用SheetJS和FileSaver库来将Excel表格转换为角度数组并将其导出到Excel文件中。这个过程可以通过简单的JavaScript代码来完成。