You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用read-excel-file.js在浏览器读取本地Excel(无需手动上传)

解决方法

方法1:将Excel作为静态资源部署,通过fetch加载

把data.xlsx和你的HTML、JS、CSS文件放在同一个项目文件夹里,然后用本地HTTP服务器(比如VS Code的Live Server插件)启动项目。直接打开本地HTML文件(file://协议)会触发浏览器跨域限制,必须用http://localhost开头的地址访问才能正常读取静态资源。

之后在JS里通过fetch获取文件的ArrayBuffer,再传给readXlsxFile:

fetch('data.xlsx')
  .then(response => response.arrayBuffer())
  .then(buffer => readXlsxFile(buffer))
  .then(data => {
    // 在这里处理Excel数据,生成HTML表格
    console.log(data);
  })
  .catch(error => console.error('加载Excel文件失败:', error));

方法2:将Excel数据转成JSON内嵌到JS中

如果Excel数据不经常变动,直接把内容导出为JSON格式,在JS文件里定义成变量即可:

  1. 打开Excel,将数据复制整理成JSON数组(或用Excel自带的导出工具转成JSON)
  2. 在JS里直接使用:
const excelData = [
  ["姓名", "年龄", "职业"],
  ["张三", 25, "程序员"],
  ["李四", 30, "设计师"]
];
// 直接用这个数据生成HTML表格

这种方法完全不需要加载外部文件,适合数据固定的场景。

方法3:用Node.js打包成单文件(进阶)

如果需要动态处理Excel内容,可以用Node.js把Excel数据打包进JS:

  1. 用xlsx包在Node.js环境读取Excel并转成JSON
  2. 把JSON数据写入JS文件,作为全局变量
  3. 前端直接引入使用

示例Node.js脚本:

const XLSX = require('xlsx');
const fs = require('fs');

const workbook = XLSX.readFile('data.xlsx');
const worksheet = workbook.Sheets[workbook.SheetNames[0]];
const data = XLSX.utils.sheet_to_json(worksheet, { header: 1 });

fs.writeFileSync('excel-data.js', `const excelData = ${JSON.stringify(data)};`);

运行脚本后会生成excel-data.js,在HTML里引入它就能直接用excelData变量。


内容的提问来源于stack exchange,提问作者ArjunK01

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 20:02:49