首页
零基础教程
分类浏览
编 程
Sentinel
Go语言
C语言
汇编语言
Android
Java工具库
Spring Cloud Alibaba
Spring Cloud
Spring Data
Spring Boot
Spring Batch
JSP/Servlet
Hadoop
Dubbo
J2Cache
Hibernate
OpenJPA
MyBatis
ShardingSphere
Freemarker
Thymeleaf
Activiti
POI
JMail
Log4j
LogBack
Dom4j
XML
RxJava
JasperReport
JUnit
JMock
Apache Commons
HttpComponents
CGLib
WebSocket
ESAPI
设计模式
前 端
CSS/CSS3
HTML5
JavaScript
JQuery
DHTMLX
浏览器
HTML
前端小知识
Vue.js
NodeJS
ECharts
Less
UmiJS
React
Ant Design
Bootstrap
uni-app
JS-XLSX
数据库
SQL
PL/SQL
MySQL
Oracle
Redis
SQLite
MongoDB
Zookeeper
H2
服务器
Podman
Prometheus
Tomcat
JBoss
RocketMQ
Docker
Nginx
RabbitMQ
其 他
程序员
Maven
SVN
Git
UML
Windows
办公软件
Axure
Jenkins
HTTP
macOS
Java
Spring
Linux
AI
代码片段
Get小技能
面试题
开发工具
<!DOCTYPE html> <html lang="zh"> <head> <meta charset='utf-8'> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>JS-XLSX Demo</title> <script src="https://www.hxstrive.com/cdn/libs/SheetJS/0.18.12/xlsx.full.min.js"></script> </head> <body> <p>使用JS导出Excel表,并且设置单元格边框</p> <p> <button onclick="exportExcel()">导出Excel</button> </p> <script type="text/javascript"> function saveAs(obj, fileName) { var tmpa = document.createElement("a"); tmpa.download = fileName || "下载"; tmpa.href = URL.createObjectURL(obj); tmpa.click(); setTimeout(function () { URL.revokeObjectURL(obj); }, 100); } function getCharCol(n) { let temCol = '', s = '', m = 0 while (n > 0) { m = n % 26 + 1 s = String.fromCharCode(m + 64) + s n = (n - m) / 26 } return s } function s2ab(s) { if (typeof ArrayBuffer !== 'undefined') { var buf = new ArrayBuffer(s.length); var view = new Uint8Array(buf); for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF; return buf; } else { var buf = new Array(s.length); for (var i = 0; i != s.length; ++i) buf[i] = s.charCodeAt(i) & 0xFF; return buf; } } function exportExcel() { // Excel文件名称 var filename = "write_num.xlsx"; // 单元格样式 var styleBase = { font: { sz: 10, color: { rgb: '00104E8B' } }, border: { // 设置边框 top: { style: 'thin' }, bottom: { style: 'thin' }, left: { style: 'thin' }, right: { style: 'thin' } } }; // 数据格式 var headers = { A1: { v: '分类', s: styleBase }, B1: { v: '编程语言', s: styleBase }, C1: { v: '描述信息', s: styleBase } }; var datas = { A2: { v: '后端编程', s: styleBase }, B2: { v: 'Java', s: styleBase }, C2: { v: '世界上最好的语言', s:styleBase }, B3: { v: 'C#', s: styleBase }, C3: { v: '出自微软的手笔,微软的Java', s:styleBase }, B4: { v: 'PHP', s: styleBase }, C4: { v: '我不是很喜欢的编程语言', s:styleBase }, A5: { v: '前端编程', s: styleBase }, B5: { v: 'JavaScript', s: styleBase }, C5: { v: '前端人员必会语言,有了JavaScript才有灵魂', s:styleBase }, A6: { v: '操作系统', s: styleBase }, B6: { v: 'Linux', s: styleBase }, C6: { v: '开源的操作系统,适合做服务器', s:styleBase }, }; // 合并 headers 和 data var output = Object.assign({}, headers, datas); console.log(output); // 表格范围,范围越大生成越慢 var ref = 'A1:D10'; // 构建 workbook 对象 var wb = { SheetNames: ['Sheet1'], Sheets: { // Sheet1 表示工作簿名称 Sheet1: Object.assign({}, output, { // 设置 excel 单元格列的宽度 '!cols': [ { wch: 10 }, // 第一列 { wch: 20 }, // 第二列 { wch: 80 } // 第三列 ], // excel 表格渲染范围 '!ref': ref, // 合并 excel 单元格 '!merges': [{ s: { // s开始 c: 0, // 开始列 r: 1 // 开始取值范围 }, e: { // e结束 c: 0, // 结束列 r: 3 // 结束范围 } }] }) } }; // 写出Excel工作簿 // XLSX.writeFile(wb, filename); var tmpDown = new Blob([ s2ab( // 这里的数据是用来定义导出的格式类型 XLSX.write(wb, { bookType: 'xlsx', bookSST: false, type: 'binary' }) ) ], { type: "" }); saveAs(tmpDown, "这里是下载的文件名.xlsx"); } </script> </body> </html>
在线代码编辑器
代码编辑区
自动执行
运行
选择模板
选择JS库
预览效果
清空
切换主题
字符数: 0
提示: 输入完整的HTML代码,包括<!DOCTYPE>和<html>标签
更多工具
Base64 加密/解密工具
JSON 格式化工具
密码随机生成工具
哈希值计算工具
时间戳转换工具
图片 & Base64 互转
HTTP 客户端
Websocket 客户端
选择模板
取消
选择库和版本
库
版本
文件
取消
已复制到剪贴板
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
链接
免责声明
隐私政策
其他应用
开源镜像网站
公众号
©2018-2020 hxstrive.com 版权所有 ICP证:
蜀ICP备14031461号-2
川公网安备51010802032098