JavaScript可通过SheetJS解析生成Excel、用jsPDF生成PDF。①SheetJS支持读写.xlsx文件,可将JSON转为表格并导出;②jsPDF结合html2canvas能将HTML内容转为PDF,适用于前端导出页面内容;③复杂文件建议在Node.js处理以避免阻塞界面。

JavaScript可以在浏览器和Node.js环境中解析和生成Excel或PDF文件,主要依赖第三方库来实现。以下是具体方法和常用工具。
在JavaScript中处理Excel文件(如.xlsx)最常用的库是 SheetJS (xlsx),它支持读取、修改和创建电子表格。
● 安装SheetJS:
在项目中通过npm安装:
立即学习“Java免费学习笔记(深入)”;
npm install xlsx
● 解析Excel文件:
读取用户上传的Excel文件并提取数据:
const XLSX = require('xlsx');
const workbook = XLSX.readFile('example.xlsx');
const sheetName = workbook.SheetNames[0];
const worksheet = workbook.Sheets[sheetName];
const data = XLSX.utils.sheet_to_json(worksheet, { header: 1 });
console.log(data);
● 生成Excel文件:
从JSON数据创建新的Excel文件:
const newData = [
['姓名', '年龄', '城市'],
['张三', 25, '北京'],
['李四', 30, '上海']
];
const ws = XLSX.utils.aoa_to_sheet(newData);
const wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, '数据表');
XLSX.writeFile(wb, '输出.xlsx');
生成PDF常用的是 jsPDF 库,它可以结合 html2canvas 将HTML内容转为PDF。
● 安装jsPDF和html2canvas:
npm install jspdf html2canvas
● 基本PDF生成:
创建一个简单的PDF文档:
import { jsPDF } from 'jspdf';
const doc = new jsPDF();
doc.text('Hello World', 10, 10);
doc.save('document.pdf');
● 将HTML内容导出为PDF:
适合导出页面中的某个div为PDF:
import html2canvas from 'html2canvas';
import { jsPDF } from 'jspdf';
const element = document.getElementById('content-to-export');
html2canvas(element).then(canvas => {
const imgData = canvas.toDataURL('image/png');
const pdf = new jsPDF('p', 'mm', 'a4');
const imgWidth = 190;
const pageHeight = 297;
const imgHeight = (canvas.height * imgWidth) / canvas.width;
let heightLeft = imgHeight;
let position = 10;
pdf.addImage(imgData, 'PNG', 10, position, imgWidth, imgHeight);
heightLeft -= pageHeight - 20;
while (heightLeft > 0) {
position = heightLeft - imgHeight + 10;
pdf.addPage();
pdf.addImage(imgData, 'PNG', 10, position, imgWidth, imgHeight);
heightLeft -= pageHeight - 20;
}
pdf.save('exported-content.pdf');
});
● SheetJS 主要支持 .xlsx 格式,对复杂公式或宏支持有限。
● jsPDF 适合生成简单布局的PDF,复杂排版建议使用服务端生成或专用工具。
● 在浏览器中处理文件时注意跨域和权限问题。
● 大文件操作建议在Node.js后端进行,避免阻塞前端界面。
基本上就这些。用好SheetJS和jsPDF,大多数前端场景下的Excel和PDF需求都能满足。
以上就是如何用JavaScript解析和生成Excel或PDF文件?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号