数据表如图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文件用的。如果只是一次性使用的話,那就不用考慮那麼多了,用
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
(其中第2個參數是你的excel原始檔名稱,第三個參數是你要保存的excel檔名稱);工具:Java POI 操作Excel ,每行每列的掃描,按照你的業務規則,既然一個sheet放不下,就放多個存放,每行數據複製後就放在Excel 的新建的sheet 中了,這樣就不會溢出了