当前位置: 首页 > news >正文

javascript导入excel文件

        导入文件用到一个 xlsx.core.js 的包。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script type="text/javascript" src="./xlsx.core.min.js"></script><title>Document</title>
</head><body><input type="file" id="file" style="display:none;" /><button onclick="importFile()">导入</button>
</body>
<script type="text/javascript" src="./index.js"></script>
</html>

        隐藏 input 框,加一个 button 按钮可以方便的调节按钮的样式。

function importFile() {console.log('导入');document.getElementById('file').click();
}document.getElementById('file').addEventListener('change', function (e) {let files = e.target.files;if (files.length == 0) return;let f = files[0];if (!/\.xlsx$/g.test(f.name)) {alert('仅支持读取xlsx格式!');return;}readWorkbookFromLocalFile(f, function (workbook) {readWorkbook(workbook);});
});function readWorkbookFromLocalFile(file, callback) {let reader = new FileReader();reader.onload = function (e) {let data = e.target.result;let workbook = XLSX.read(data, { type: 'binary' });if (callback) callback(workbook);};reader.readAsBinaryString(file);
}function readWorkbook(workbook) {let sheetNames = workbook.SheetNames; // 工作表名称集合console.log(sheetNames, 'sheetNames');let worksheet = workbook.Sheets[sheetNames[0]]; // 读取第一张sheetconsole.log(worksheet, 'worksheet');let json = XLSX.utils.sheet_to_json(worksheet);console.log(json, 'json');
}   

        文件信息。

        页面上取值。

http://www.lryc.cn/news/362068.html

相关文章:

  • 「C系列」C 变量及常见问题梳理
  • <网络安全VIP>第二篇《工业控制软件》
  • 微服务:Rabbitmq中的不同交换机的使用Fanout、Direct、Topic(消息队列中间件)
  • 数据结构单链表的前插法实现
  • Cocos Creator开发学习路线
  • C语言:IO操作
  • 算法 | 刷题日记
  • 微信小程序登录接口
  • VBA实战(Excel)(5):介绍一种排列组合算法
  • 迭代器的使用
  • 安卓手机APP开发___广播概述
  • 【封装】Unity切换场景不销毁物体
  • 基于学习的决策树
  • godot.bk2
  • STM32 IIC 使用 HAL 库操作eeprom
  • YOLOv8+PyQt5海洋船只检测(可以重新训练,yolov8模型,从图像、视频和摄像头三种路径识别检测)
  • PCL 高阶多项式曲线回归拟合(二维)
  • 深入理解 Python3 函数:从基础语法到高级应用
  • 03_初识Spring Cloud Gateway
  • python数据分析——线性模型
  • 网络原理——HTTP/HTTPS ---- HTTPS
  • 网络协议二
  • 内存映射mmap技术详解
  • react 合成事件
  • springboot配置集成RedisTemplate和Redisson,使用分布式锁案例
  • 随机数相关
  • EulerMaker Yocto Open Build Service
  • SQL面试问题集
  • 基于单片机的八路抢答器设计论文
  • 一个最简单基于spring的websocket服务端+客户端实现案例