【JS处理excel,SheetJS入门笔记】
中文文档 https://github.com/rockboom/SheetJS-docs-zh-CN/
基于文档实现了exce的读取,根据json生成,导出;
运行效果
代码:
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title></title><script src="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/xlsx/0.18.2/xlsx.full.min.js"></script><style>table {border-collapse: collapse;}td {border: 1px solid gray;}</style>
</head>
<body><input type="file" onchange="readFile(this)" /><button onclick="download()">导出</button><textarea id="output" cols="150" rows="30" style="width: 100%;"></textarea><div id="div"></div><script>var wb; // 工作簿 workbook var ws; // sheet页 worksheet// 读取文件function readFile(obj) {if (!obj.files) return;var file = obj.files[0];var reader = new FileReader();reader.onload = function (e) {var data = e.target.result;// 解析文件wb = XLSX.read(data, { type: 'binary' });ws = wb.Sheets[wb.SheetNames[0]];// 读取成 jsonvar json = XLSX.utils.sheet_to_json(ws);document.getElementById("output").innerHTML = JSON.stringify(json, null, '\t');// 读取成 htmldiv.innerHTML = XLSX.utils.sheet_to_html(ws);};// reader.readAsBinaryString(file);reader.readAsArrayBuffer(file);}// 导出function download() {// 创建空的工作簿(没有sheet页)var wb = XLSX.utils.book_new();// JSON to sheetvar ws1 = XLSX.utils.json_to_sheet([{s:1, t:2},{s:3, t:4},], {header:["s", "t"]});// 数组 to sheetvar ws2 = XLSX.utils.aoa_to_sheet([['我','去'],[1,2]]);// 添加到 wb 里XLSX.utils.book_append_sheet(wb, ws1, "sheet1");XLSX.utils.book_append_sheet(wb, ws2, "sheet22");XLSX.writeFile(wb, 'out.xlsx');}</script>
</body>
</html>
导出的excel
【JS处理excel,SheetJS入门笔记】相关推荐
- Excel实战入门笔记
幕布网:https://mubu.com/app/edit/home/1EeNVRWgXNH 一.基本概念 表格组成:工作簿.工作表.行/列.单元格 功能区 菜单 二.基础操作 源数据备份 记住一般我 ...
- React.js入门笔记
# React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...
- 《Node.js入门》Windows 7下Node.js Web开发环境搭建笔记
最近想尝试一下在IBM Bluemix上使用Node.js创建Web应用程序,所以需要在本地搭建Node.js Web的开发测试环境. 这里讲的是Windows下的搭建方法,使用CentOS 的小伙伴 ...
- js入门笔记整理(二)——操作符
上一篇:js入门笔记整理 一元操作符 递增 递增分为前置递增和后置递增 前置型--两个加号(++)放在前面 var num = 1;++num; 这个操作其实就是给num加1,上面的列子等效于: va ...
- 笔记:JS仿excel十进制和26进制转换算法
笔记:JS仿excel十进制和26进制转换算法 引子:看过这篇文章用C#实现的十进制和26进制转换算法,觉得在前端以后会用到,遂改写出Javacript的写法. 十进制转26进制: function ...
- onethink入门笔记(一)
onethink入门笔记(一) 由于公司需求所以大概花了一个星期搞了一个一个基于onethink的数据管理平台demo不得不说onethink这个基于thinkphp3.2.3的框架还是很棒的 让我这 ...
- html缩进快捷键_HTML 入门笔记
HTML 入门笔记 HTML (HyperText Markup Language) 不是一门编程语言,而是一种用来告知浏览器如何组织页面的标记语言. HTML 可复杂.可简单,一切取决于开发者. 它 ...
- 2接口详解_TS入门笔记2——TS接口进阶详解
TS入门笔记--TS接口进阶详解 一.为什么需要接口? let obj:object; // 定义了一个只能保存对象的变量 // obj = 1; // obj = "123"; ...
- Flux架构小白入门笔记
Flux架构小白入门笔记 Flux是facebook提出的一种处理前端数据的架构,学习Flux就是学习它的思想. 这个笔记是我在学习了阮一峰老师的Flux 架构入门教程之后得出, 里面的例子和部分原文 ...
最新文章
- Java学习笔记(三)--Java主类结构
- 数组元素的修改会影响到转换过来的结合_数组长度属性背后有什么魔力?
- Emacs, Vi, Lisp, Logo, 小众语言集中营
- python字典_Python 字典
- git-版本的回退操作与
- Django错误解决: CSRF verification failed. Request abor
- 转:android.support升级到androidx踩坑记录
- Save as XPS in Office “12”
- SQL datediff()函数 时间差
- 教程:如何将一首歌生成一个二维码?
- 智商情商哪个重要_你认为哪个更重要,情商还是智商?为什么?
- Aras Innovator: 如何快速的装多份innovatorSample数据到不同的数据库
- mysql练习题库一
- 教你如何给小米5续命
- STM32——跑马灯实现
- use glyphs icons
- jdk,jre的下载安装教程
- 调用http时因为js问题遇到的一个报错
- 理解sparse coding
- Linux学习1-Xshell连接阿里云ECS服务器