filereader读取文件_Gin 教你前端读取 Excel 并渲染

7d3ed6c464610896a6e92293ce917f75.png

编者语:Gin 超级勤奋。下班之余学习技术和英语。她是前端时空共建者和技术写作小队中第一个开始英文技术写作的小伙伴。

中文版 | https://www.yuque.com/fest/articles/gy0dfw

英文版 | https://www.yuque.com/fest/articles/hbv500

本文旨在解决无需调用后端接口,实现前端读取表格文件,获取文件内容,渲染到界面的需求

  • 我的其他文章可以解决扩展需求:
  • 读取解析表格后执行自动单元格合并
  • 读取解析表格后根据数据对比分析自动设置单元格颜色
  • 读取解析表格后执行数据分析(透析)生成可满足用户自定义需求的echarts关系图
  • 下载界面表格功能

说明

公司平时做后台管理系统比较多,类似需求更是十分常见,我也写过类似帖子,但是都是只放代码从来不写注释和步骤,嘿嘿,话不多说,此文章为完整的记录:

前提

平时我经常使用的是:Ant Design + Angular

Element UI + Vue

Ant Design + Vue

方便起见,今天我们使用Element UI + Vue基于vue-element-admin直接开始

步骤一:准备工作

1. 点击进入vue-element-admin下载[2]

cdf8b7b71d008efdf3ce963859dd2586.png

2. 下载解压

c88c4bd361e0aeed1ec9b329a9fcea5f.png

3. 安装依赖、运行

1d038dc874a814724e5279e346c28070.png
966ea2b13a0c6bf5ab23d685d1765a0d.png
0e0077e58419403ff1d8aee18ed36758.png

4. 运行成功

38548e536071cf9834e21b28dcde7a5d.png
adcd00b67bf4d14ef843c2f64ae2ed24.png

步骤二:实现导入表格解析

1. 进入以下路径;

src\views\dashboard\index.vue

2. 删除无用代码,准备开始;

<div class="dashboard-container">div>template><script>export default {name: 'Dashboard'
}script><style lang="scss" scoped>style>
ccb9737927629a9f6dcfb08c047fc28a.png

3. 增加 导入 按钮

<div class="dashboard-container"><div class="button_group"><ahref="javascript:;"class="button_s my_file el-button button_s el-button--primary el-button--small"
      ><input type="file" class="my_input" @change="importExcel" id="upload" />导入a>div>div>template><script>export default {name: 'Dashboard',methods: {/**
     * 导入表格
     */
     importExcel(e) {
    }
  }
}script><style lang="scss" scoped>
// 按钮样式
.button_group {
  .button_s {
    width: 78px;
    margin: 5px 10px 5px 5px;
  }
  .button_m {
    width: 100px;
    margin: 5px 10px 5px 5px;
  }
  .my_file {
    position: relative;
    .my_input {
      position: absolute;
      opacity: 0;
      width: 78px;
      height: 30px;
      top: 0;
      left: 0;
    }
  }
}
// 按钮样式style>

4. 保存刷新;

e3ebb4006de753cb7ce7da5aefcc9c3c.png

5.  下载xlsx 、引入;

76b85536c7c9f74e5785eee166d7787a.png
5355a454604e41643212d5c07d29577b.png

6. 编写导入表格 功能、保存刷新;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用 FileReader 可以读取文本文件的内容。下面是一个简单的例子: ```javascript let fileInput = document.getElementById('fileInput'); let contentDiv = document.getElementById('fileContent'); fileInput.addEventListener('change', (event) => { let file = event.target.files[0]; let reader = new FileReader(); reader.readAsText(file); reader.onload = (event) => { contentDiv.textContent = event.target.result; }; }); ``` 上面的代码中,我们首先获取到一个 `<input type="file">` 元素和一个显示文件内容的 `<div>` 元素。然后给 `<input>` 元素添加了一个 `change` 事件监听器,当用户选择了文件后就会触发这个事件。在事件处理函数中,我们获取到用户选择的文件,创建一个 FileReader 对象,并调用 `readAsText()` 方法读取文件内容。当读取完成时,会触发 `onload` 事件,我们可以在这个事件处理函数中获取到文件内容,并将其显示在页面上。 ### 回答2: FileReader 是 JavaScript 中的一个对象,用于从文件读取数据。 使用 FileReader 可以读取多种类型的文件,例如文本文件、图像文件、音频文件等。 读取文件的过程是异步的,即读取文件的同时可以进行其他的操作。 使用 FileReader 的基本步骤如下: 1. 创建 FileReader 对象: ```javascript var reader = new FileReader(); ``` 2. 绑定事件处理程序(可选): ```javascript reader.onload = function(event) { // 读取完成后的处理逻辑 }; ``` 3. 读取文件内容: ```javascript reader.readAsText(file); ``` 这里的 `file` 是一个文件对象,可以通过 `<input type="file">` 元素的 `files` 属性或 `FileList` 对象获取。 4. 读取完成后的处理逻辑(如果绑定了事件处理程序): ```javascript function(event) { var content = event.target.result; // 处理文件内容 } ``` 在此事件处理程序中,我们可以通过 `event.target.result` 获取到读取文件内容。 需要注意的是,使用 FileReader 读取文件时存在一些限制。首先,由于安全原因,不允许直接读取用户计算机上的文件。在浏览器中,只能通过用户主动选择文件并上传触发读取操作。此外,浏览器对于不同类型的文件可能有限制,例如不允许读取某些特定类型的文件。 总之,FileReader 是一个用于读取文件内容的 JavaScript 对象,在前端开发中可以用于实现文件上传、预览和编辑等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值