首页 > web前端 > js教程 > 正文

如何用JavaScript解析和生成Excel或PDF文件?

夜晨
发布: 2025-10-06 18:38:02
原创
464人浏览过
JavaScript可通过SheetJS解析生成Excel、用jsPDF生成PDF。①SheetJS支持读写.xlsx文件,可将JSON转为表格并导出;②jsPDF结合html2canvas能将HTML内容转为PDF,适用于前端导出页面内容;③复杂文件建议在Node.js处理以避免阻塞界面。

如何用javascript解析和生成excel或pdf文件?

JavaScript可以在浏览器和Node.js环境中解析和生成Excel或PDF文件,主要依赖第三方库来实现。以下是具体方法和常用工具。

解析和生成Excel文件

在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文件:

AI卡通生成器
AI卡通生成器

免费在线AI卡通图片生成器 | 一键将图片或文本转换成精美卡通形象

AI卡通生成器 51
查看详情 AI卡通生成器

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文件

生成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中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号