如何把大 Excel 文件拆成多个小文件

2023-10-17 11:48
文章标签 excel 多个 拆成

本文主要是介绍如何把大 Excel 文件拆成多个小文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

出于各种原因,有时我们要将一个大Excel拆成一些小文件。这种算法可以用VBA实现,但代码很非常难写,还容易发生内存溢出。

用esProc就简单多了,比如把大文件拆成每1500行一个的小文件,只有这么几行:

 ABD
1=file("dt.xlsx").xlsimport@t()/打开Excel,假定第一行是标题
2for A1.group((#-1)\1500) /循环取数,每次1500行
3 =file(#A2/".xlsx").xlsexport(A2)/生成小Excel,文件名为循环数

有时还可能按列分组来拆分,比如Excel首行标题为col1、col2…,且已按col1排序(可以事先在Excel中排好),我们要根据col1拆分成多个Excel。代码也很简单:

 ABD
1=file("dt.xlsx").xlsimport@t() 
2for A1.group(col1) /按col1分组循环
3 =file(A2.col1/".xlsx").xlsexport@t(A2)/小文件名为分组名

把前面两个要求合并起来也很简单(即按col1分组,但子文件最多1500行):

 ABCD
1=file("dt.xlsx").xlsimport@t()  
2for A1.group(col1)  /按col1分组循环
3 for A2.group((#-1)\1500) /再每次循环取1500条
4  =file(B3.col1/#B3/".xlsx").xlsexport@t(B3)/小文件名为分组名+循环次数

esProc是个脚本语言,可以在桌面IDE里执行,数据以表格呈现,调试这种带循环的算法很方便。

类似的Excel计算的例子(含超出内存的大Excel):

SPL 解析及导出 Excel SPL 解析及导出 Excel
excel 合并汇总 excel 合并汇总

文本文件和 Excel 在 esProc 里处理方式相同,很多算法可以互相参考:
SPL 结构化文本计算 SPL 结构化文本计算

esProc 是专业的文件处理脚本,即安即用,调试方便,类库丰富,详情参考 http://www.raqsoft.com.cn/wx/file-processor.html
关于集算器安装使用、获得免费授权和相关技术资料,可以参见 如何使用集算器?

这篇关于如何把大 Excel 文件拆成多个小文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/225164

相关文章

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

java poi实现Excel多级表头导出方式(多级表头,复杂表头)

《javapoi实现Excel多级表头导出方式(多级表头,复杂表头)》文章介绍了使用javapoi库实现Excel多级表头导出的方法,通过主代码、合并单元格、设置表头单元格宽度、填充数据、web下载... 目录Java poi实现Excel多级表头导出(多级表头,复杂表头)上代码1.主代码2.合并单元格3.

Java实现批量化操作Excel文件的示例代码

《Java实现批量化操作Excel文件的示例代码》在操作Excel的场景中,通常会有一些针对Excel的批量操作,这篇文章主要为大家详细介绍了如何使用GcExcel实现批量化操作Excel,感兴趣的可... 目录前言 | 问题背景什么是GcExcel场景1 批量导入Excel文件,并读取特定区域的数据场景2

.NET利用C#字节流动态操作Excel文件

《.NET利用C#字节流动态操作Excel文件》在.NET开发中,通过字节流动态操作Excel文件提供了一种高效且灵活的方式处理数据,本文将演示如何在.NET平台使用C#通过字节流创建,读取,编辑及保... 目录用C#创建并保存Excel工作簿为字节流用C#通过字节流直接读取Excel文件数据用C#通过字节

C#关闭指定时间段的Excel进程的方法

private DateTime beforeTime;            //Excel启动之前时间          private DateTime afterTime;               //Excel启动之后时间          //举例          beforeTime = DateTime.Now;          Excel.Applicat

struts2中的json返回指定的多个参数

要返回指定的多个参数,就必须在struts.xml中的配置如下: <action name="goodsType_*" class="goodsTypeAction" method="{1}"> <!-- 查询商品类别信息==分页 --> <result type="json" name="goodsType_findPgae"> <!--在这一行进行指定,其中lis是一个List集合,但

excel翻译软件有哪些?如何高效提翻译?

你是否曾在面对满屏的英文Excel表格时感到头疼?项目报告、数据分析、财务报表... 当这些重要的信息被语言壁垒阻挡时,效率和理解度都会大打折扣。别担心,只需3分钟,我将带你轻松解锁excel翻译成中文的秘籍。 无论是职场新人还是老手,这一技巧都将是你的得力助手,让你在信息的海洋中畅游无阻。 方法一:使用同声传译王软件 同声传译王是一款专业的翻译软件,它支持多种语言翻译,可以excel

一款支持同一个屏幕界面同时播放多个视频的视频播放软件

GridPlayer 是一款基于 VLC 的免费开源跨平台多视频同步播放工具,支持在一块屏幕上同时播放多个视频。其主要功能包括: 多视频播放:用户可以在一个窗口中同时播放任意数量的视频,数量仅受硬件性能限制。支持多种格式和流媒体:GridPlayer 支持所有由 VLC 支持的视频格式以及流媒体 URL(如 m3u8 链接)。自定义网格布局:用户可以配置播放器的网格布局,以适应不同的观看需求。硬

终于解决了excel操作及cspreadsheet.h问题

困扰多日的excel操作问题终于解决:利用cspreadsheet.h!在vs2005下,不能直接应用cspreadsheet.h,所以必须解决些问题先。 首先, 出现暴多错误。解决UNICODE问题,全部添加L。 [1] +++++++++++++++++++ 其次, 出现问题: error   C2664:   &apos;SQLGetInstalledDriversW &apos;

关于使用cspreadsheet读写EXCEL表格数据的问题

前几天项目有读写EXCEL表格的需求,我就找了大概有几种,大致分为:COM方法、ODBC方法、OLE方法、纯底层格式分析方法。由于COM方法要求必须安装有OFFICE的EXCEL组件,纯底层格式分析方法又很多功能需要自行去完善,所有最终选择了数据库的方法,用数据库的方法去存取xls格式的数据。网上有一个高手写的CSpreedSheet,看了一下提供的接口,感觉挺好用的。在使用的过程中发现几个