検索

ホームページ  >  に質問  >  本文

java如何复制几百万行的Excel数据?自动拆成多个表?

数据表如图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初学。。不太会

PHP中文网PHP中文网2811日前416

全員に返信(2)返信します

  • ringa_lee

    ringa_lee2017-04-18 09:29:23

    わかりました、読みやすくするために最初に問題を整理しましょう...
    Excel テーブルには合計 4 つの列 a、b、c、d があります。列 a、b、および c は次のとおりです。列 d は、この行のデータがコピーされる回数です。最初の行はヘッダーです。

    また、あなたが話しているテーブルはデータベースのテーブルですか、それとも Excel のテーブルですか?


    アップデート

    Apache POI このツール ライブラリは、オフィス ドキュメントの操作に特に使用されています。

    一回限りの使用であれば、それほど考える必要はありません。POIを使用して Excel ドキュメントをメモリに読み込み、プログラム内のデータをコピーし、コピーしたデータをパーティション化します。そしてそれをエクセルの表に書き込みます。

    js について少しでも知っている場合は、この要件を達成するために、(nodejs に応じて)node-xlsx を使用することをお勧めします。これは、Java を記述するよりも高速です。コードの行数は 50 行以内にしてください。

    アップデート 2

    Java は本当に書きたくないので、nodejs コードの一部しか書けません...

    リーリー

    使用方法

    1. nodejs をインストールします;

    2. cmd ウィンドウを開いて npm --registry https://registry.npm.taobao.org install -g nrm を実行します。

    3. 実行nrm use taobao;

    4. 上記のコードを process.js として保存し、そのファイルを Excel ソース ファイルと同じディレクトリに置きます。

    5. cmd ウィンドウにディレクトリを入力し、
    6. ;

      npm i node-xlsx を実行します。

    7. を実行します (2 番目のパラメーターは Excel ソース ファイルの名前、3 番目のパラメーターは保存する Excel ファイルの名前です)。

      返事
      0
  • 巴扎黑

    巴扎黑2017-04-18 09:29:23

    ツール: Java POI は Excel を操作し、ビジネス ルールに従って各行と列をスキャンします。1 つのシートを配置することはできないため、複数のストレージを配置し、データの各行がコピーされて Excel の新しいシートに配置されます。溢れないように

    返事
    0
  • キャンセル返事