文章目录

  • 获取数据
  • 获取第一个 execle 工作簿表格
  • 1. 输出 json 格式
  • 2. 输出 csv 格式
  • 3. 输出 html 格式
  • 4.输出 formulae 格式
  • 输出成文件
  • 网页端导出文件
  • 全部代码
  • 方法封装

data.xlsx

名字 年龄
张三 18
李四 19
王五 20

获取数据

xlsx 可以运行在网页端以及nodejs客户端,但在网页端运行中需要注意引入(打包)问题,这里就不详细讨论。


import xlsx from "xlsx";// 通过文件读取
const workBook = xlsx.readFile("./data.xlsx");// 通过数据读取
// 这里注意,传递的第一个参数必须要与 type 中的数据格式对应,传的是 array 数据, type 就必须是 "array"const array = 'Unit8Array 或者 ArrayBuffer'
const workBook = xlsx.read(array,{type:"array"})const base64 = 'base64字符串'
const workBook = xlsx.read(base64,{type:"base64"})

获取第一个 execle 工作簿表格

let name = workBook.SheetNames[0]
let sheet = workBook.Sheets[name]

1. 输出 json 格式

console.log(xlsx.utils.sheet_to_json(sheet));
[{名字:"张三",年龄:"18"    },{名字:"李四",年龄:"19"},{名字:"王五",年龄:"20"}
]

2. 输出 csv 格式

console.log(xlsx.utils.sheet_to_csv(sheet));
名字,年龄,,,,,,,,,,,,,,,,,
张三,18,,,,,,,,,,,,,,,,,
李四,19,,,,,,,,,,,,,,,,,
王五,20,,,,,,,,,,,,,,,,,

3. 输出 html 格式

console.log(xlsx.utils.sheet_to_html(sheet));
<html><head><meta charset="utf-8"/><title>SheetJS Table Export</title></head><body><table><tr><td data-t="s" data-v="名字" id="sjs-A1">名字</td><td data-t="s" data-v="年龄" id="sjs-B1">年龄</td></tr><tr><td data-t="s" data-v="张三" id="sjs-A2">张三</td><td data-t="n" data-v="18" id="sjs-B2">18</td></tr><tr><td data-t="s" data-v="李四" id="sjs-A3">李四</td><td data-t="n" data-v="19" id="sjs-B3">19</td></tr><tr><td data-t="s" data-v="王五" id="sjs-A4">王五</td><td data-t="n" data-v="20" id="sjs-B4">20</td></tr></table></body></html>

4.输出 formulae 格式

console.log(xlsx.utils.sheet_to_formulae(sheet));
 ["A1='名字", "B1='年龄","A2='张三", 'B2=18',"A3='李四", 'B3=19',"A4='王五", 'B4=20'
]

输出成文件

xlsx.writeFile(workBook, "./output.xlsx");

网页端导出文件

// 这里不需要写路径,写文件名,会弹出弹窗让用户选择保存路径
xlsx.writeFile(workBook,'表格.xlsx');

全部代码

import xlsx from "xlsx";
const workBook = xlsx.readFile("./data.xlsx");let name = workBook.SheetNames[0];
let sheet = workBook.Sheets[name];console.log(xlsx.utils.sheet_to_json(sheet));console.log(xlsx.utils.sheet_to_csv(sheet));console.log(xlsx.utils.sheet_to_html(sheet));console.log(xlsx.utils.sheet_to_formulae(sheet));xlsx.writeFile(workBook, "./output.xlsx");

方法封装

import xlsx from "xlsx";/*** 解析 excel 数据成 json 对象*/
export function parseExcel(data,type) {const workBook = xlsx.read(data, { type });const excel = workBook.SheetNames.map((name) => ({SheetName: name,data: xlsx.utils.sheet_to_json(workBook.Sheets[name]) as any[]}));
}/*** 将对象数据解析成 excel* @param {string} filePath 路径* @param {Array} list 数据* @param {string} sheetName 表格名字, 默认 Sheet1*/
export function writeExcel(filePath, list, sheetName = "Sheet1") {// 新建工作簿const workBook = xlsx.utils.book_new();// 添加表格xlsx.utils.book_append_sheet(workBook, xlsx.utils.json_to_sheet(list), sheetName);// 输出文件xlsx.writeFile(workBook, filePath);
}

Nodejs excel(.xlsx) 文件的读写相关推荐

  1. python——xlsx文件的读写操作详解

    本文对xlsx文件的读写使用以下的库,已安装的可以忽略: """ 需安装的库文件: pip install xlrd==1.2.0 pip install pywin32 ...

  2. ASP.NET Core 导入导出Excel xlsx 文件

    ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...

  3. python读取xlsx文件找不到_在python中打开并读取excel .xlsx文件

    我正在尝试使用python打开一个excel .xlsx文件,但我无法找到办法,我尝试使用pandas但是它想要使用一个名为NumPy的库我试图安装numpy但它仍然可以找不到. 我也尝试过使用xlr ...

  4. Python读取和操作Excel(.xlsx)文件

    Python读取和操作Excel(.xlsx)文件 使用openpyxl库来控制excel文件(即.xlsx为后缀的文件).这里介绍一下excel数据的结构. 打开excel文件后生成一个workbo ...

  5. Java 后端将上传的 csv 文件转为 Excel xlsx 文件

    一.概述 本地文件是 csv格式,将其转成 xlsx 或者 xls. 二.实现步骤 2.1 获取 csv 文件数据 由于前端的上传文件的数据类型是 MultipartFile,所以就通过获取输入流的方 ...

  6. 实战:从文件夹中庞大的excel(.xlsx)文件中提取并整合数据

    从文件夹中庞大的excel(.xlsx)文件中提取并整合数据 Input 需要从文件夹树中提取有格式的单个数据格并汇总. 例如: 2017-2020x市蚊虫数据/2018/7月/abcds方法统计.x ...

  7. golang 读取excel(xlsx文件) 时间格式解析

    问题起源 最近在写一个读取xlsx文件,并解析其中数据的项目,在所有的数据都就绪之后,却遇到了时间格式获取不正确的问题 时间格式 我查询到的结果 我的代码 func main() {f, err := ...

  8. 后端使用nodejs生成xlsx文件数据流,并返回给前端直接进行下载

    ​ 本文教您如何不将文件存储在后端,使用nodejs返回文件流给前端直接进行下载 1,后端安装node-xlsx npm install node-xlsx -S 2,node生成xlsx文件buff ...

  9. java使用poi操作excel文件_使用 java apache poi 操作 excel xlsx 文件

    工作中临时需要对各种订单量进行简单的统计分析,为了方便简单学习了apache poi 对 xlsx 文件的基本操作,简单记录 1. 引包 org.apache.poi poi-ooxml 4.1.2 ...

最新文章

  1. php 打开动态链接,php调用com组件-dll文件(动态链接库)
  2. 基于mybatis声明SQL Session对象
  3. 解决redhat安装centos yum源的问题
  4. 协议crc计算_从零了解modbus协议 第三篇
  5. jsp思维导图_2019年经济法基础思维导图
  6. matlab sobel锐化,sobel锐化 - yirui wu.ppt
  7. 变量命名规则_Java变量与常量
  8. 【数据库原理实验(openGauss)】创建数据库、表和索引
  9. 记录开发过程中第一次遇到的回调地狱
  10. weblogic部署war包
  11. 基于深度学习的图像文字识别技术
  12. 简体繁体转换JS(JavaScript)脚本
  13. Windows卸载easyconnect
  14. STM32CubeMX+ETH+DP83848+Lwip 成功ping通(基于stm32F107开发板)
  15. 水面反光如何拍摄_拍摄水景的技巧方法
  16. AttributeError: builtin_function_or_method object has no attribute mktime
  17. java qq开发_Ubuntu用户的福音:基于Java开发的开源QQ客户端iQQ
  18. spring security中Authority、Role的区别
  19. 改变不了环境,学会改变自己!
  20. try catch和finally搭配return执行常见面试题讲解

热门文章

  1. 高手才知道!七个你所不知道的 D3.js 秘技
  2. java中double的使用方法_java中double型数据如何四舍五入?详解
  3. 看无字幕外文讲课视频听不懂怎么办?
  4. 提高网速-MAC配置DNS服务器
  5. 常熟理工php实验三_西普学院(实验吧)Web题解
  6. Jenkins 安装以及使用教程
  7. PHP输出时间精确到毫秒
  8. 第1关:无监督学习的文本聚类
  9. [吐槽][mellanox]RoCE的默认打开;rdma-core
  10. PiCIE: Unsupervised Semantic Segmentation using Invariance and Equivariance in Clustering 论文解读和感想