首页
零基础教程
分类浏览
编 程
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-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>SheetJS 教程</title> <!-- 引入 SheetJS 库 --> <script src="https://www.hxstrive.com/cdn/libs/SheetJS/0.20.3/xlsx.full.min.js"></script> <!-- 样式美化(和之前保持一致) --> <style> body { padding: 20px; font-family: Arial, sans-serif; } .container { max-width: 800px; margin: 0 auto; } button { margin-left: 10px; padding: 6px 12px; cursor: pointer; } input[type="file"] { margin-bottom: 10px; } #tabeller { margin-top: 20px; border-collapse: collapse; width: 100%; } #tabeller th, #tabeller td { border: 1px solid #ddd; padding: 8px; text-align: left; } #tabeller th { background-color: #f2f2f2; } #table-preview { margin-top: 20px; } </style> </head> <body> <div class="container"> <!-- 导入文件按钮 --> <input type="file" id="file-input" accept=".xlsx,.xls,.csv" /> <!-- 导出按钮 --> <button id="export-btn"><b>Export XLSX!</b></button> <!-- 表格预览区域 --> <div id="table-preview"></div> </div> <script> /** * 渲染表格到页面 * @param {Object} worksheet - SheetJS工作表对象 */ function renderTable(worksheet) { // 生成HTML表格字符串 const tableHtml = XLSX.utils.sheet_to_html(worksheet, { id: "tabeller" }); // 插入到预览区域 const previewContainer = document.getElementById('table-preview'); previewContainer.innerHTML = tableHtml; // 缓存表格DOM元素,方便后续导出 tableElement = document.getElementById('tabeller'); } /** * 处理文件导入 */ async function handleFileImport(e) { // 未选择文件则返回 if (!e.target.files[0]) return; const file = e.target.files[0]; // 读取文件为ArrayBuffer const data = await file.arrayBuffer(); // 解析文件 const wb = XLSX.read(data); // 取第一个工作表 const ws = wb.Sheets[wb.SheetNames[0]]; // 渲染表格 renderTable(ws); // 清空文件选择框(可选,提升体验) e.target.value = ''; } /** * 处理文件导出 */ function handleFileExport() { // 校验表格是否存在 if (!tableElement) { alert("暂无表格数据可导出!"); return; } // 从HTML表格生成工作簿 const wb = XLSX.utils.table_to_book(tableElement); // 导出为XLSX文件 XLSX.writeFile(wb, "SheetJSIntro.xlsx"); } // 核心变量:存储表格DOM let tableElement = null; // 加载示例CSV数据 const csv = `\ This,is,a,Test வணக்கம்,สวัสดี,你好,가지마 1,2,3,4`; // 解析CSV为工作簿并生成表格 const wb = XLSX.read(csv, { type: "string" }); const ws = wb.Sheets.Sheet1; renderTable(ws); // 绑定导入文件事件 document.getElementById('file-input').addEventListener('change', handleFileImport); // 绑定导出按钮事件 document.getElementById('export-btn').addEventListener('click', handleFileExport); </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