问题描述
在工作中时常会遇到对 Excel 表格的处理。当编辑一张 Excel 表格时,发现表格的列数太多,而行数较少,为方便打印,这时你或许会希望将该表格行列转换;或许是为了做进一步做统计分析,当前格式不太方便,这时也会用到行列转换。
下面这种交叉式的 Excel 表是很常见的格式,用来填写和查看都比较方便:
但是,如果想做进一步的统计分析,这种格式就不方便了,需要行列转换,变成如下格式的明细表:
显然,手工操作会非常麻烦,若数据量小还可以,数据量大了会耗费大量时间,简直就是灾难。
我们就以此为例,举例说明几种常见的解决方法。
解决方法
方法 1:Excel 数据透视表
Excel 可以通过数据透视表支持行列转换功能,效果如下图:
显然,这并不是我们想要的格式。Excel 的数据透视表可以满足简单格式的行列转换,但如果格式稍微复杂,转换效果往往是不尽人意。
方法 2:编程语言
以写程序来解决,思路也很简单:
· 加载 excel 文件,装载需要的 sheet 工作表。
· 读取“账套名”所在行,将其转换成字符串数组。
· 读取“科目编码”所在列&#x