📅  最后修改于: 2023-12-03 15:09:33.213000             🧑  作者: Mango
在某些情况下,我们需要将Excel表格转换为数组并将其导出到Excel。我们可以使用JavaScript和其它相关的库来完成这个任务。
我们需要使用以下库来达成这个目标:
`npm install --save sheetjs filesaver`
我们使用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()
将这个工作表转换为角度数组。
我们使用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代码来完成。