数据表如图1,2,3行所示,把第2行复制3次(d次),第3行复制4次(d次)
然后只粘贴abc列的数据(6,7,8有d行相同的数据,但是不包括d列的数据)
根据上面的数据,把复制之后的数据写入新的表,用java如何操作呀?
有40多个表,每个表中都有200多条数据,数据量很大,所有要用程序写,
还有一个问题就是一个表中复制之后的数据量可能超过Excel20007的最大行数(1048576行),如何自动拆成多个表呢?比如前50个数据在一个表,51-100在第二个表,101-200在第三个表......
注意!!!
复制之后的数据是写到Excel表中,并不是数据库中,java初学。。不太会
好吧,我先理顺一下问题,方便阅读……
excel表总共有a,b,c,d四列,其中a,b,c列是存储的数据,d列是表示该行数据要复制的次数,第一行是表头。
还有,你说的表是数据库的表还是excel表?
更新
可以看一下
Apache POI
这个工具库,专门操作office文档用的。Apache POI
这个工具库,专门操作office文档用的。如果只是一次性使用的话,那就不用考虑那么多了,用
POI
读取excel文档到内存,然后在程序里实现数据复制,再把复制后的数据分区后写入excel表。如果你会一点js的话,我建议你用node-xlsx(依赖nodejs)去实现这个需求,比写java要快。代码行数应该在50行以内。
更新2
我只能写一段nodejs代码给你,因为java的实在不想写……
使用方法
安装nodejs;
打开cmd窗口,运行
npm --registry https://registry.npm.taobao.org install -g nrm
;运行
nrm use taobao
;将以上代码保存为
process.js
,并将该文件和你的excel源文件放在同一目录下;在cmd窗口里进入该目录,运行
npm i node-xlsx
;运行
如果只是一次性使用的话,那就不用考虑那么多了,用node process.js source.xlsx dest.xlsx
POI
读取excel文档到内存,然后在程序里实现数据复制,再把复制后的数据分区后写入excel表。npm --registry https://registry.npm.taobao.org install -g nrm
;#🎜🎜##🎜🎜#nrm use taobao
;#🎜🎜##🎜🎜#process.js
,并将该文件和你的excel源文件放在同一目录下;#🎜🎜##🎜🎜#npm i node-xlsx
;#🎜🎜##🎜🎜#node process.js source.xlsx dest.xlsx
(其中第2个参数是你的excel源文件名称,第三个参数是你要保存的excel文件名称);#🎜🎜##🎜🎜# #🎜🎜#工具 :Java POI 操作 Excel ,每行每列的扫描,按照你的业务规则,既然一个sheet放不下,就放多个存放,每行数据复制后就放在Excel 的新建的sheet 中了,这样 就不会溢出了