JSON数据转EXCEL
JSON数据转EXCEL
文章目录
- JSON数据转EXCEL
- 前言
- 一、需要安装哪些依赖?
- 二、使用步骤
- 1.导入
- 2.封装的jsonToExcel函数
- 总结
前言
一、需要安装哪些依赖?
- npm install -S file-saver 用来生成文件的web应用程序
- npm install -S xlsx 电子表格格式的解析器
二、使用步骤
1.导入
代码如下(示例):
import { saveAs } from 'file-saver'
import XLSX from 'xlsx/dist/xlsx.full.min'
2.封装的jsonToExcel函数
具体代码如下(示例):
function datenum (v, date1904) {if (date1904) v += 1462let epoch = Date.parse(v)return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000)
}function dataTows (data, w) {var ws = {s: {'!row': [{ wpx: 67 }]}}ws['!cols'] = []for (var n = 0; n !== data[0].length; ++n) {ws['!cols'].push({wpx: w[n]})}const range = { s: { c: 10000000, r: 10000000 }, e: { c: 0, r: 0 } }for (let R = 0; R !== data.length; ++R) {for (let C = 0; C !== data[R].length; ++C) {if (range.s.r > R) range.s.r = Rif (range.s.c > C) range.s.c = Cif (range.e.r < R) range.e.r = Rif (range.e.c < C) range.e.c = Cconst cell = { v: data[R][C] }if (cell.v == null) continueconst cellRef = XLSX.utils.encode_cell({ c: C, r: R })if (typeof cell.v === 'number') cell.t = 'n'else if (typeof cell.v === 'boolean') cell.t = 'b'else if (cell.v instanceof Date) {cell.t = 'n'cell.z = XLSX.SSF._table[14]cell.v = datenum(cell.v)} else cell.t = 's'ws[cellRef] = cell}}if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range)return ws
}
function Workbook () {if (!(this instanceof Workbook)) return new Workbook()this.SheetNames = []this.Sheets = {}
}function s2ab (s) {const buf = new ArrayBuffer(s.length)const view = new Uint8Array(buf)for (let i = 0; i !== s.length; ++i) view[i] = s.charCodeAt(i) & 0xFFreturn buf
}/** th => 表头* data => 数据* fileName => 文件名* fileType => 文件类型* sheetName => sheet页名*/
export default function toExcel ({ th, data, fileName, fileType, sheetName, w }) {data.unshift(th)const wb = new Workbook()const ws = dataTows(data, w)sheetName = sheetName || 'sheet1'wb.SheetNames.push(sheetName)wb.Sheets[sheetName] = wsfileType = fileType || 'xlsx'var wbout = XLSX.write(wb, { bookType: fileType, bookSST: false, type: 'binary' })fileName = fileName || '列表'saveAs(new Blob([s2ab(wbout)], { type: 'application/octet-stream' }), `${fileName}.${fileType}`)
}
总结
jsonToExcel函数的封装是为了便于前端导出excel文件。
JSON数据转EXCEL相关推荐
- JSON数据导出Excel表
JSON数据导出Excel表 应老板要求写了一个实用的小功能,需求是将api接口返回的JSON数据导出Excel表,过程中改了两稿,一是前端js直接导出一个表,另一是分门别类在java中同时导出多个表 ...
- excel两个表格数据对比_vue实现json数据导出Excel表格
因为项目的需要, 需要从前端导出表格,今天一个坑踩了一个小时,特别分享给大家 Vue导出json数据到Excel表格 一,安装依赖(三个缺一不可) npm install file-saver --s ...
- php输出json到表格,Vue如何导出json数据到Excel电子表格方法
本文主要介绍了Vue导出json数据到Excel电子表格的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助到大家. 一.安装依赖(前面基本一样) npm install file- ...
- vue中导出json数据为excel表格并保存到本地
继我上次成功利用vue和elemen把excel的数据导入至前端vue,因为excel表中的数据有些必填项没有填写或者填写错误(比如写错字)所以就要将没有成功导入的数据导出成一份excel表并保存至本 ...
- Python爬虫项目:爬取JSON数据存储Excel表格与存储图片
随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战.搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista,Yahoo!和Googl ...
- 如何在线快速把json数据转excel表格
工作中经常会遇到需要把json转成可视化的结构数据,例如excel,否则json数据根本没法阅读,本人工作中之前是把微信好友转出来是json格式,需要转成excel才能方便阅读,这里推荐一个在线转js ...
- JS中将 JSON 数据转换为 Excel 表格的详细步骤如下:
工作中 后端 那为兄弟 用java把execl的数据转为json格式发我了,他问我能不能用js把josn在转为execl格式 然后 我就开始了 项目地址 下载 xlsx 库 在使用 xlsx 库之前, ...
- Java操作json数据导入Excel
话不多说,直接上代码 package com.linkage.bss.crm.commons;import net.sf.json.JSONArray; import net.sf.json.JSON ...
- 『解疑』前端通过json数据导出excel表格文件(支持多级表头、复杂表头)(json转excel)
问题 如何友好的通过规范的json数据导出成excel文件. 解题 制定规范的json数据结构: ( 只要将现有的数据处理成以下格式即可导出 ) {headerList: [ // 多级表头(2选1即 ...
- 用Notepad++ 宏功能 将json数据转换为EXCEL
JSON文件: {"hdBus": "sd","hdCode": "Code","hdType": ...
最新文章
- 【算法笔记】哈密顿问题
- BPW-21光电二极管的特性测试
- HTML怎么把文字分栏_PPT文字巨多!领导还不让删,怎么排版才高大上?
- 软件测试技术 中医体质判定表,中医体质分类及判定自测表.pdf
- python获取月份字符串_python 正则表达式获取字符串中所有的日期和时间
- JavaSE各阶段练习题----文件和IO
- 移动端70+fps!谷歌新出高效实时视频目标检测
- java变量和方法的覆盖和隐藏(翻译自Java Tutorials)
- php多个表查询的方法_php+mysql+ajax实现单表多字段多关键词查询的方法
- win10如何与终端电脑连接服务器,教程 | Windows 10 下在命令行窗口使用 ssh 连接服务器...
- iOS 在CollectionView上做展开收起动画
- macOS Ventura 13.0 (22A380) 正式版发布,ISO、IPSW、PKG 下载
- 洛谷 P4238 【模板】多项式乘法逆
- shell脚本循环执行任务的脚本
- UML类图的辅助构建的逻辑代码
- location指令
- Libra为何而生?Facebook为何要给 Libra创建Move语言?Calibra技术负责人给出了回答...
- 爬虫抓取京东、苏宁、唯品会商品价格
- 离线地图下载和webGIS简单应用
- APPS BFC-11-75-03B 75欧RF变压器替Mini-Circuit TC1-1T