前端解析Excel文件

简介: 前端解析Excel文件


背景

用户上传excel文件需要在前端进行预览,在数据量不大,不影响性能体验的情况下,可以将excel解析放到前端进行操作,之后再将解析出来的数据传给后端

安装依赖 xlsx

npm i xlsx -S

关于xlsx的文档,可以查阅js-xlsx官方文档

组件中使用(以elementUI的el-upload作为上传组件)

<template>
  <div class="action">
    <el-upload
      action="/example/upload"
      ref="upload"
      :show-file-list="false"
      :on-change="readExcel"
      :auto-upload="false"
    >
    <el-button type="primary" class="btn-color">点击上传</el-button>
    </el-upload>
  </div>
</template>
<script lang='ts'>
import { Vue, Component } from 'vue-property-decorator';
import XLSX from 'xlsx';
@Component({
  components: {
  },
})
export default class ComponentName extends Vue {
  // 使用xlsx插件解析excel
  private readExcel(file: any) {
    const fileReader = new FileReader();
    fileReader.onload = (event: any) => {
      try {
        const data = event.target.result;
        const workbook = XLSX.read(data, { type: 'binary' });
        for (const sheet of Object.keys(workbook.Sheets)) {
          const sheetArray = XLSX.utils.sheet_to_json(workbook.Sheets[sheet]);
          this.handlePreview(sheetArray);
        }
      } catch (err) {
        console.log(err);
        return false;
      }
    };
    fileReader.readAsBinaryString(file.raw); // 必须调用
  }
  // 处理数据
  private handlePreview(originRows: any[]) {
    // 根据业务需求处理和筛选数据
    const rows = originRows.filter((item) => {
      if (item.序号) {
        return item.序号.toString().indexOf('1(示例)') === -1;
      }
      return item;
    });
    if (rows.length === 0) {
      console.log('导入数据至少一行!');
      return Promise.resolve();
    }
    console.log('解析并处理过后的excel数据', rows);
    return Promise.resolve();
  }  
}
</script>
<style lang='scss' scoped>
</style>

备注: 如果excel解析数据量有可能会很大的情况下,如5万条以上,最好是交由后端解析excel,避免影响用户体验

目录
相关文章
|
存储 前端开发 安全
前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
本文全面解析前端三种数据存储方式:Cookie、LocalStorage与SessionStorage。涵盖其定义、使用方法、生命周期、优缺点及典型应用场景,帮助开发者根据登录状态、用户偏好、会话控制等需求,选择合适的存储方案,提升Web应用的性能与安全性。(238字)
1098 0
|
11月前
|
Web App开发 前端开发 JavaScript
前端性能优化利器:图片懒加载实战解析
前端性能优化利器:图片懒加载实战解析
|
存储 前端开发 JavaScript
调用DeepSeek API增强版纯前端实现方案,支持文件上传和内容解析功能
本方案基于DeepSeek API增强版,提供纯前端实现的文件上传与内容解析功能。通过HTML和JavaScript,用户可选择文件并调用API完成上传及解析操作。方案支持多种文件格式(如PDF、TXT、DOCX),具备简化架构、提高响应速度和增强安全性等优势。示例代码展示了文件上传、内容解析及结果展示的完整流程,适合快速构建高效Web应用。开发者可根据需求扩展功能,满足多样化场景要求。
3874 64
|
10月前
|
Python
Excel中如何批量重命名工作表与将每个工作表导出到单独Excel文件
本文介绍了如何在Excel中使用VBA批量重命名工作表、根据单元格内容修改颜色,以及将工作表导出为独立文件的方法。同时提供了Python实现导出工作表的代码示例,适用于自动化处理Excel文档。
|
12月前
|
存储 前端开发 JavaScript
|
10月前
|
人工智能 JSON 前端开发
如何解决后端Agent和前端UI之间的交互问题?——解析AG-UI协议的神奇作用
三桥君指出AG-UI协议通过SSE技术实现智能体与前端UI的标准化交互,解决流式传输、实时进度显示、数据同步等开发痛点。其核心功能包括结构化事件流、多Agent任务交接和用户中断处理,具有"一次开发到处兼容"、"UI灵活可扩展"等优势。智能体专家三桥君认为协议将AI应用从聊天工具升级为实用软件,适用于代码生成、多步骤工作流等场景,显著提升开发效率和用户体验。
2403 0
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
3765 65
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
11月前
|
JSON 前端开发 安全
前端开发中常用的鉴权方式解析与实践要点
本文深入探讨了前端开发中常用的鉴权方式,包括HTTP基本鉴权、Session-Cookie鉴权、Token验证、JWT(JSON Web Tokens)、单点登录(SSO)和OAuth等。文章首先明确了认证、授权、鉴权和权限控制的概念及关系,随后详细解析每种鉴权方式的工作原理、优缺点及适用场景。例如,HTTP基本鉴权简单但安全性低,适合内部网络;Session-Cookie鉴权易受CSRF攻击,适用于同域Web应用;Token和JWT无状态且扩展性好,适合分布式系统;SSO提升用户体验,适用于多系统统一登录;OAuth安全方便,适合第三方授权接入。
1245 2
|
12月前
|
人工智能 算法 安全
使用CodeBuddy实现批量转换PPT、Excel、Word为PDF文件工具
通过 CodeBuddy 实现本地批量转换工具,让复杂的文档处理需求转化为 “需求描述→代码生成→一键运行” 的极简流程,真正实现 “技术为效率服务” 的目标。感兴趣的快来体验下把
793 10
|
文字识别 Serverless 开发工具
【全自动改PDF名】批量OCR识别提取PDF自定义指定区域内容保存到 Excel 以及根据PDF文件内容的标题来批量重命名
学校和教育机构常需处理成绩单、报名表等PDF文件。通过OCR技术,可自动提取学生信息并录入Excel,便于统计分析和存档管理。本文介绍使用阿里云服务实现批量OCR识别、内容提取、重命名及导出表格的完整步骤,包括开通相关服务、编写代码、部署函数计算和设置自动化触发器等。提供Python示例代码和详细操作指南,帮助用户高效处理PDF文件。 链接: - 百度网盘:[链接](https://pan.baidu.com/s/1mWsg7mDZq2pZ8xdKzdn5Hg?pwd=8866) - 腾讯网盘:[链接](https://share.weiyun.com/a77jklXK)
2362 5

热门文章

最新文章

推荐镜像

更多
  • DNS