信息发布→ 登录 注册 退出

如何用J*aScript解析和生成Excel或PDF文件?

发布时间:2025-10-06

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

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

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

解析和生成Excel文件

在J*aScript中处理Excel文件(如.xlsx)最常用的库是 SheetJS (xlsx),它支持读取、修改和创建电子表格。

● 安装SheetJS:

在项目中通过npm安装:

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

广研企业网站管理系统中英文双语版 广研企业网站管理系统中英文双语版

v1.8新增功能简介: 一、后台新增生成网站地图和生成Sitemap.xml的功能。 二、新增下载中心功能,可在后台上传doc,xls,ppt,rar,pdf文件。 三、新增产品缩略图自动缩放功能,图片按比例缩放,解决了图片变形问题。 四、新闻、产品详细页新增了上一个、下一个的功能,改善用户体验。 五、在线客服新增了阿里巴巴贸易通在线客服。 六、可在后台设置分享代码,如百度分享和AddThis等。

广研企业网站管理系统中英文双语版 0 查看详情 广研企业网站管理系统中英文双语版

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.s*e('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.s*e('exported-content.pdf');
});

注意事项

● SheetJS 主要支持 .xlsx 格式,对复杂公式或宏支持有限。
● jsPDF 适合生成简单布局的PDF,复杂排版建议使用服务端生成或专用工具。
● 在浏览器中处理文件时注意跨域和权限问题。
● 大文件操作建议在Node.js后端进行,避免阻塞前端界面。

基本上就这些。用好SheetJS和jsPDF,大多数前端场景下的Excel和PDF需求都能满足。

以上就是如何用J*aScript解析和生成Excel或PDF文件?的详细内容,更多请关注其它相关文章!


相关文章: Mac怎么锁定备忘录_Mac备忘录加密设置教程  从OpenAI API响应中高效提取生成文本  qq邮箱日历功能怎么用_创建日程与会议邀请的技巧  AI泡沫首次被“刺破”:GPU十年都无法存活!  4399免费游戏网址入口 4399小游戏免费入口点开即玩  响应式CSS Grid布局:优化网格项在小屏幕下的堆叠与宽度适配  魅族17怎样用浏览器译外语网页_iPhone魅族17浏览器译外语网页【即时翻译】  HTML空白字符处理机制:渲染、DOM与编码实践  J*aScript中管理异步API调用:确保操作顺序与数据一致性  漫蛙网页登录入口 漫蛙漫画官方授权网址  Lar*el开发:如何在编辑界面正确预选数据库中的多选标签  必由学官网首页入口 必由学教师网页版登录指南  怎么搭建一个php网站源码_搭php网站源码搭建教程  在J*a中如何使用ForkJoinPool进行分治任务并行处理_ForkJoinPool分治并行技巧说明  解决Flask中Quill编辑器内容提交失败及TypeError的指南  PHP中获取MongoDB服务器运行时间(Uptime)的专业指南  京东京造J1和网易云音乐氧气真无线有什么不同_国产电商蓝牙耳机音质对比  文心一言怎样用批量生成做多版文案_文心一言用批量生成做多版文案【批量创作】  excel怎么制作工资条 excel快速生成工资条的方法  excel如何生成目录 excel一键生成工作表目录超链接  厨房不锈钢水槽发黑生锈怎么处理_水槽用可乐+锡纸2分钟抛亮如新  Archive of Our Own官网直达 AO3最新可用地址一览  顺丰快件物流信息 官方网站查询入口  Golang如何实现简单的Web表单_Golang表单提交与验证处理方法  Win10系统服务哪些可以禁用 Win10安全优化服务列表【干货】  2025AO3夸克浏览器通道_AO3手机HTTPS安全入口分享  163邮箱登录密码 163邮箱忘记密码找回  Composer如何解决json扩展缺失的错误  AO3网页版最新入口合集 Archive of Our Own在线访问指南  在Go Martini框架中高效服务动态生成图像的实践指南  CSS布局中意外空白:解决padding-top导致的顶部间距问题  AO3镜像入口大全 AO3网页版内容访问全集  html怎么运行外部js文件中的函数_运html外js文件函数法【技巧】  俄罗斯方块最新版入口 俄罗斯方块在线玩官网入口  J*a TimerTask中HashMap意外清空的深层原因与解决方案  Win11怎么开启省电模式_Win11电池节电模式自动开启  从J*aScript对象中精确提取指定属性的教程  在Runstone环境中高效处理TasteDive API的JSON数据  Win11怎么设置鼠标指针速度_Win11提高鼠标指针精确度选项  Tabulator表格中精确实现日期时间排序的指南  谷歌浏览器无痕模式怎么开 Chrome开启无痕浏览设置方法【教程】  天眼查企业查询官网入口 天眼查官方网页版查询  PHP表单数据传递:如何通过隐藏输入字段获取动态ID  c++中为什么推荐使用using替代typedef_c++现代化类型别名  PHP URL参数传递与500错误调试指南  QQ邮箱登录平台入口 QQ邮箱网页版邮箱官方入口  俄罗斯Yandex免登录入口_Yandex搜索引擎官网一键直达  Win11怎么查看显卡显存 Win11显示适配器属性及专用视频内存查询  KFC游戏互动怎么赢取优惠券_KFC线上游戏活动参与与优惠代码赢取教程  怎样使用“本地安全策略”提升Windows安全性_Secpol.msc配置指南【高手】 

在线客服
服务热线

服务热线

4008988990

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!