如何把大 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

相关文章

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,看了一下提供的接口,感觉挺好用的。在使用的过程中发现几个

Excel和Word日常使用记录:

Excel使用总结 表格颜色填充: 合并单元格: 选中你要合并的单元格区域。按下快捷键 Alt + H,然后松开这些键。再按下 M,接着按 C。这个组合键执行的操作是:Alt + H:打开“主页”选项卡。M:选择“合并单元格”选项。C:执行“合并并居中”操作。 插入行: 在Excel中,插入一行的快捷键是:Windows:选择整行(可以点击行号)。按下 Ctrl + Sh

SpringBoot中利用EasyExcel+aop实现一个通用Excel导出功能

一、结果展示 主要功能:可以根据前端传递的参数,导出指定列、指定行 1.1 案例一 前端页面 传递参数 {"excelName": "导出用户信息1725738666946","sheetName": "导出用户信息","fieldList": [{"fieldName": "userId","fieldDesc": "用户id"},{"fieldName": "age","fieldDe

如何在Excel中根据单元格内容作MSnbsp;…

上篇文章,我们介绍了INDEX+SMALL+IF+ROW的数组公式组合,也就是说只要在IF中通过条件的构造,基本上就可以想提取什么条件的数据都可以,数据查询肯定得心应手。 但是,我们一起强调函数公式不是万能的,尤其是数组公式在海量数据面前,既是软肋也是硬伤,而且构造这个函数组合还需要你要具备或者能理解简单数组公式逻辑,对于在函数公式方面没有深究的人,自然是一头雾水。当然,就像“数据透视表”一样,

Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(4)

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​​ Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(3)-CSDN博客  这节就是真正的存储数据了   理清一下思路: 1.存储路径并检查 //2进制文件类存储private static string Data_Binary_Pa