前端读取本地项目中 public/a.xlsx 文件中的数据 vue3

前端读取本地项目中 public/a.xlsx 文件中的数据 vue3

项目中需要在 Vue3 项目中读取 public/a.xlsx 文件,可以使用 fetch API 来获取文件内容

一、安装 xlsx

首先,你需要安装 xlsx 库:

复制代码
npm install xlsx

二、在需要用的页面里引入xlsx

复制代码
import * as XLSX from 'xlsx';

三、读取 Excel 文件

复制代码
//在自己的方法里
try {
    // 使用 fetch API 获取 public/a.xlsx 文件
    const response = await fetch("/abc/a.xlsx");
    // !!!!!
    // !!!!!!注意:这里/abc是因为我的项目里的vue.config.js配置了publicPath: "/abc",这里根据自己代码的情况来写本地路径
    // !!!!!
    const arrayBuffer = await response.arrayBuffer();

    // 使用 xlsx 解析 Excel 文件
    const workbook = XLSX.read(arrayBuffer, { type: "array" });
    const firstSheetName = workbook.SheetNames[0];
    const worksheet = workbook.Sheets[firstSheetName];

    // 将工作表转换为 JSON 格式
    const jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1 });

    // 更新 excelData 和 columns
    excelData.value = jsonData;
    columns.value = jsonData[0] || []; // 假设第一行是列名
    console.log(1, excelData.value);
    console.log(2, columns.value);
  } catch (error) {
    console.error("Error fetching or parsing Excel file:", error);
  }

注意:文件路径/abc是因为我的项目里的vue.config.js配置了publicPath: "/abc",这里根据自己代码的情况来写本地路径
如果没有特殊配置,const response = await fetch('/a.xlsx')即可

如果读取不出来,大多数情况是文件路径问题,可以在浏览器中直接访问 http://localhost:your-port/a.xlsx,确保文件可以下载

相关推荐
主宰者10 分钟前
C# CommunityToolkit.Mvvm全局事件
java·前端·c#
老神在在00115 分钟前
【Selenium 自动化精讲】浏览器弹窗与登录界面的本质区别 & 实操指南
javascript·学习·selenium·测试工具·自动化
计算机学姐31 分钟前
基于SpringBoot的咖啡店管理系统【个性化推荐+数据可视化统计+配送信息】
java·vue.js·spring boot·后端·mysql·信息可视化·tomcat
前端小咸鱼一条39 分钟前
16.迭代器 和 生成器
开发语言·前端·javascript
小江的记录本1 小时前
【注解】常见 Java 注解系统性知识体系总结(附《全方位对比表》+ 思维导图)
java·前端·spring boot·后端·spring·mybatis·web
web守墓人1 小时前
【前端】记一次将ruoyi vue3 element-plus迁移到arco design vue的经历
前端·vue.js·arco design
伊步沁心1 小时前
Webpack & Vite 深度解析
前端
libokaifa1 小时前
OpenSpec + TDD:让 AI 写代码,用测试兜底
前端·ai编程
用户15815963743701 小时前
搭 AI Agent 团队踩了 18 个坑,总结出这 5 个关键步骤
前端
Kellen1 小时前
Fumadocs 基础概念:从内容源到页面渲染
前端