首页
学习
活动
专区
圈层
工具
发布

前端提效 - js 批量导出 excel 为zip压缩包

本篇文章主要介绍使用 exceljs、file-saver、jszip实现下载包含多层级文件夹、多个 excel、每个 excel 支持多个 sheet 的 zip 压缩包。...downloadFiles2Zip:将多个 excel 文件导出到一个 zip 压缩包内,没有嵌套文件夹。...给每个 excel 创建 workbook并将数据写入,然后通过 JsZip库写入到压缩文件内,最终用 file-saver库提供的 saveAs方法导出压缩文件。...三、导出包含多个子文件夹、多个excel文件的 zip 压缩包 如果文件、文件夹嵌套比较深,可以使用 downloadFiles2ZipWithFolder()方法。...使用示例 如文章开头的使用示例,为了方便看清结构,将每个对象的 files 值删除,精简之后得到如下结构: downloadFiles2ZipWithFolder({ zipName: '压缩包

4.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    前端实现word、excel、pdf、ppt、mp4、图片、文本等文件的预览

    前言 因为业务需要,很多文件需要在前端实现预览,今天就是了解一下吧。 实现方案 找了网上的实现方案,效果看起来不错,放在下面的表格里,里面有一些是可以直接通过npm在vue中引入使用。...v-viewer(npm) docx文件实现前端预览 代码实现 首先npm i docx-preview 引入renderAsync方法 将blob数据流传入方法中,渲染word文档 import...,设置元素的画布属性 通过page.render方法,将数据渲染到画布上 import * as PDFJS from "pdfjs-dist/legacy/build/pdf"; // 设置pdf.worker.js...实现前端预览 代码实现 下载exceljs、handsontable的库 通过exceljs读取到文件的数据 通过workbook.getWorksheet方法获取到每一个工作表的数据,将数据处理成一个二维数组的数据...引入@handsontable/vue的组件HotTable 通过settings属性,将一些配置参数和二维数组数据传入组件,渲染成excel样式,实现预览 // 加载excel的数据 (new ExcelJS.Workbook

    3.8K51

    这可能是前端处理excel最好的工具了

    今天要分享的是一个纯前端实现读取和导出excel文件的工具库:ExcelJSExcelJs 简介功能十分简单: 读取,操作并写入电子表格数据和样式到 XLSX 和 JSON 文件。...一个 Excel 电子表格文件逆向工程项目。 在本文中,我们使用xlsx文件。xlsx是Microsoft Excel使用的开放XML电子表格文件格式的文件扩展名。这也是工作中用得最多的一种文件之一。...读取我们从现有的 xlsx 文件中读取。我们假设前两列中有一些数据。...:c1.eachCell(c => { console.log(c.value);});写入这里我们写入一个全新的xlsx文件。...:const ws = wb.addWorksheet('My Sheet');向指定单元格写入数据:ws.getCell('A1').value = 'John Doe';向指定行中写入一组数据:const

    1.6K00

    分享一些 word、excel、pdf、ppt、图片、文本等文件的预览工具

    Demo地址[1] 实现方案 前端开发博客 找了网上的实现方案,效果看起来不错,放在下面的表格里,里面有一些是可以直接通过npm在vue中引入使用。...v-viewer(npm) docx文件实现前端预览 代码实现 首先npm i docx-preview 引入renderAsync方法 将blob数据流传入方法中,渲染word文档 import...,设置元素的画布属性 通过page.render方法,将数据渲染到画布上 import * as PDFJS from "pdfjs-dist/legacy/build/pdf"; // 设置pdf.worker.js...实现前端预览 代码实现 下载exceljs、handsontable的库 通过exceljs读取到文件的数据 通过workbook.getWorksheet方法获取到每一个工作表的数据,将数据处理成一个二维数组的数据...引入@handsontable/vue的组件HotTable 通过settings属性,将一些配置参数和二维数组数据传入组件,渲染成excel样式,实现预览 // 加载excel的数据 (new ExcelJS.Workbook

    2.8K30

    前端复杂表格导出excel,一键导出 Antd Table 看这篇就够了(附源码)

    前端导出 excel 的需求很多,但市面上好用的库并不多,讲明白复杂使用场景的文章更少。 本文将以文字 + demo 源码的形式,力求讲清楚满足 99% 使用场景的终极 excel 导出方案。...:js 批量导出 excel 为zip压缩包, 对导出方法进行了封装,还实现了使用 exceljs、file-saver、jszip实现下载包含多层级文件夹、多个 excel、每个 excel 支持多个...// 遍历此列中的所有当前单元格 dobCol.eachCell(function(cell, rowNumber) { // ... }); // 遍历此列中的所有当前单元格,包括空单元格 dobCol.eachCell...// 注意:第4列及以上的列将右移1列。 // 另外:如果工作表中的行数多于列插入项中的值,则行将仍然被插入,就好像值存在一样。...下载 excel saveWorkbook()也是自己封装的方法,接收 workbook 和文件名来下载 excel 到本地。 下载是使用 file-saver库。

    13.7K20

    【Node】大数据导出

    npm 包去处理 excel 导出,直接build 完了整个文件放在内存中之后,然后才开始响应给用户端,数据大起来之后就直接 over 了 const fs = require('fs'); const.../xlsx/${Date.now()}.xlsx`; // 创建一个流式写入器,指定写入的文件路径 const workbook = new ExcelJS.stream.xlsx.WorkbookWriter...} // 提交工作表 My Sheet sheet.commit(); // 数据写入完成,交工作簿 workbook.commit() 然后就会在 xlsx 目录下 看到一个 excel 文件 上面我们创建文件流的的时候...,指定了一个文件路径,是因为得有同一个写入数据的端 当我们在作为接口响应的时候,就没必要指定文件了 因为 HTTP 响应对象(也就是上面代码中的 res)是一个可写流 我们通过exceljs 可以直接拿到.../exceljs/exceljs/blob/master/README_zh.md 数据分批处理 在我们实际的运行情况中,发现虽然用了文件流,但是下载大文件时内存依旧会爆炸,因为一次性处理 几十万甚至上百万的数据

    2.5K20

    搞定 XLSX 预览?别瞎找了,这几个库(尤其最后一个)真香!

    , error); alert('文件好像有点问题,解析不了哦'); } }; alt text 来个带劲的 Demo:把 Excel 样式也给你扒下来!...超大文件性能: 几十上百兆的 Excel,解析起来可能会慢,或者内存占用高点(老实说,哪个库处理这种文件不头疼呢)。 我之前用 xlsx 时,老是要自己写一堆转换逻辑,数据结构处理起来烦得很。...换了 ExcelJS 后,感觉世界清净了不少。尤其是它能把单元格的背景色、字体、边框这些信息都读出来,这对做预览太有用了! 实战中怎么选?或者…全都要? 其实吧,这三个库也不是非得“你死我活”。...Handsontable: 豪华座驾,提供近乎完美的 Excel 编辑体验。功能强大没得说,但得看你口袋里的银子够不够。 ExcelJS: 可靠的全能伙伴。...但如果非要我推荐一个,我绝对站 ExcelJS。 在功能、易用性和成本(免费!)之间,它平衡得太好了。 对于大部分需要精细处理 Excel 文件(尤其是带样式预览)的场景,它就是那个最香的选择!

    1.3K00

    Node.js 动态表格大文件下载实践

    流式下载 简单下载在碰到大文件的情景就不够用了,因为 Node 无法将大文件一次性读取到进程内存里。...进度显示 当下载的文件特别大时,上个例子 Content-Length 正确设置时浏览器下载条里就能正常显示进度了,为了方便我们使用程序模拟一下: router.get('/download/progress...sheet.addRow(data[i]); } sheet.commit(); // 提交工作表 await workbook.commit(); // 交工作簿,即写入文件...${x.f_user_id}`) } }) 流处理 在上面的 xlsx.js 文件中,是先输出一个文件再使用 fs.createReadStream 流输出 exceljs 库提供了 API 来实现流写...总结 文件导出是最常见的需求之一,把功能实现好是专业素质最好的体现。 此文篇幅有限,原理性的细节如 Exceljs 的依赖里对 xlsx 规范的 zip 流处理等等大家可以自行去了解一番。

    7.3K30

    nodejs如何解析excel

    在工作中有时候我们需要将数据写入的excel或者将数据输出到excel当中。 这项工作用nodejs借助npm包来完成的话相当快捷。...下面就给大家演示一下如何用nodejs来操作excel,nodejs操作excel无非读和写。 首先用这个包来读取一个excel文件,excel文件内容如下: ? 内容很简单就是一个表格。...下面来看一下如何用nodejs将数据写入excel,用nodejs将数据写入excel的话,数据必须满足要求才可以,并且这里需要用的nodejs的fs模块。 代码如下: ?...从上面的运行结果可以看出,在构建写入的数据的时候,数据必须设置为数组,并且为空的项设置为null,然后按照node-xlsx的接口构建一个buffer数据,最后将buffer数据输出到页面。...以上便是在nodejs中借助node-xlsx操作excel的用法了,下期为大家如何使用浏览器的接口操作excel。

    7.4K50

    后台生成 xlsx 文件

    前端并不是一次性的拿到所有数据,而这时如果用户需要粗暴的一次性导出所有表格数据( 包括没有加载到前端的数据 )呢,我们肯定是直接在后台操作比较好。...如果你看过上一篇文章,也许你会问:我们能否在后台依然将数据导出为 CSV 格式的文件呢? 答案是:当然可以。...不过上一篇文章已经说明了怎么去处理 CSV 格式,这篇文章就不再重复说明,而是换成了 xlsx 格式的文件。 这里主要选择 js-xlsx 和 exceljs 这两个库来进行操作并简要说明。...03 — exceljs 相比于上面的 js-xlsx ,我更喜欢也推荐大家使用 exceljs 这个库。...测试数据: 后台操作: 同样重点关注红色圈中的内容,你可以看到我能够很方便的设置行或列的宽高、及其是否隐藏等属性,并且操作数据也很自然,最后显示的效果: 除此之外,exceljs 对于某行、某列、某个具体的单元格都可以很灵活的设置其样式

    2.3K30

    Python与Excel协同应用初学者指南

    标签:Python与Excel协同 本文将探讨学习如何在Python中读取和导入Excel文件,将数据写入这些电子表格,并找到最好的软件包来做这些事。...通过一个示例来理解它,在这个示例中,将使用Python代码手动创建工作簿并向其写入数据: 图23 自动化数据写入过程 自动化Excel文件中的数据写入过程至关重要,尤其是当想将数据写入文件,但又不想花时间手动将数据输入文件时...,即标题(cols)和行(txt); 4.接下来,有一个for循环,它将迭代数据并将所有值填充到文件中:对于从0到4的每个元素,都要逐行填充值;指定一个row元素,该元素在每次循环增量时都会转到下一行;...使用pyexcel,Excel文件中的数据可以用最少的代码转换为数组或字典格式。...用pyexcel写入文件 就像使用这个软件包可以轻松地将数据加载到数组中一样,也可以轻松地将数组导出回电子表格。

    23.3K20

    如何浏览器里用js解析excel文件

    上篇文章给大家介绍了如何借助nodejs平台解析操作excel,今天给大家介绍如何在浏览器端使用js解析操作excel。...代码演示如下,只有一个input元素,并监听这个元素的change事件,尝试传递一个excel文件: ? 打印结果为: ?...因为input可以同时上传多个文件,我们这里只上传一个文件所以选择第0个元素)。 既然得到File类型的数据了,那么就需要使用FileReader来读取这个File来获取二进制内容了。 如何读取呢?...这里面就包括了excel的所有数据了,只不过暂时还不能使用,这里有两个属性比较重要,SheetNames和Sheets,一个保存着所有文档的名称,一个保存着文档的数据。...我们在我们的页面中重新上传测试的excel再来观察打印结果: ? 我们看到SheetNames能得到excel中所有表的名称,但是sheets的数据好像不太对头,这个不能用啊,怎么办?

    10.9K52

    Python+Excel数据分析实战:军事体能考核成绩评定(一)项目概况

    可以使用它来读取、写入由 Microsoft Excel 2007 及以上版本创建的电子表格文档。...缺点:Pandas在数据处理上是非常方便的,但在文档外操作,如批量修改工作簿名称,就需要引入os库;同时如果已有Excel文档是带格式(颜色填充、字体设置、单元格合并等),写入Excel的时候就会破坏掉原来的格式...(三)Python : Openpyxl openpyxl是一个用于读取/写入Excel2007及以上版本(即xlsx格式)文件的Python库,不论是Excel内的特殊格式,还是单元格处理,都提供了相应的函数...(四)Python : Xlwings xlwings也是Python操作Excel的第三方库,很大程度上就是补全Pandas的缺点,可以在方便的处理文档本身,如修改工作表名称,将Pandas的数据处理结果调用到...考虑到大家日常工作中,最常用的就是用Excel登统计原始成绩,所以本项目采用Python+Excel的设计,直接对Excel登统计的所有原始成绩进行处理,得到换算结果,并汇总个人成绩评定。

    2.5K10

    Python+Excel数据分析实战:军事体能考核成绩评定(一)项目概况

    可以使用它来读取、写入由 Microsoft Excel 2007 及以上版本创建的电子表格文档。...缺点:Pandas在数据处理上是非常方便的,但在文档外操作,如批量修改工作簿名称,就需要引入os库;同时如果已有Excel文档是带格式(颜色填充、字体设置、单元格合并等),写入Excel的时候就会破坏掉原来的格式...(三)Python : Openpyxl openpyxl是一个用于读取/写入Excel2007及以上版本(即xlsx格式)文件的Python库,不论是Excel内的特殊格式,还是单元格处理,都提供了相应的函数...(四)Python : Xlwings xlwings也是Python操作Excel的第三方库,很大程度上就是补全Pandas的缺点,可以在方便的处理文档本身,如修改工作表名称,将Pandas的数据处理结果调用到...考虑到大家日常工作中,最常用的就是用Excel登统计原始成绩,所以本项目采用Python+Excel的设计,直接对Excel登统计的所有原始成绩进行处理,得到换算结果,并汇总个人成绩评定。

    2.8K10

    (在线CAD插件)网页CAD提取图纸表格到excel

    **内容提取与导出**:提取单元格文本内容并导出为 Excel 文件。...3.2 横向合并逻辑 系统将整个表格划分为多个 **2×2 子矩阵块**,每个块以左上角单元格命名(如 `B2` 表示第2行第2列开始的块)。...`null` | 左侧块 | 当前块的左邻块(如 A2)第二个元素是否为 `null` | | 第二个元素为 `null` | 右侧块 | 当前块的右邻块(如 C2)第一个元素是否为 `null...输出 使用 `ExcelJS` 库创建工作簿,执行以下操作: - **合并单元格**:根据 `fullRangeKeys` 设置跨行跨列 - **填充内容**:写入提取的文本 - **样式美化**:添加边框...、居中对齐、自动换行 - **文件导出**:浏览器端生成 Blob 下载,Node.js 端保存为 `.xlsx` 文件 /**  * 将单元格数据导出为 Excel  */ async function

    52310

    nodejs实现导出excel报表

    2019-03-15 16:34:19 生成报表并下载是作为web应用的一个传统功能,在nodejs中,很多开发人员也提供了很多的依赖来实现这一功能。...js-xlsx : 目前 Github 上 star 数量最多的处理 Excel 的库,支持解析多种格式表格XLSX / XLSM / XLSB / XLS /CSV,解析采用纯js实现,写入需要依赖nodejs...或者FileSaver.js实现生成写入Excel,可以生成子表Excel,功能强大,但上手难度稍大。...xls及xlsx格式文件,需要依赖python,太重不太实用;https://github.com/leftshifters/excel-parser excel-export : 基于Node.js将数据生成导出...这里我们主要介绍一下excel-export的应用。 安装 npm install excel-export 使用 nodejs使用的框架是express,koa框架也类似。

    6.6K10
    领券