1

内容を読み取って新しいExcelファイルに貼り付けるコードがあります

コードは

for(int rownum=2; rownum<=datatable.getRowCount(testName); rownum++)
    for(int colnum=1; colnum<=datatable.getColumnCount(testName); colnum++) {
        datatable.getCellData(testName, "Serial", rownum);
        // Get value of other column  Serial :)
        String getdata = datatable.getCellData(testName, "Rules", rownum);
        if (datatable.getCellData(testName, "Serial", rownum).equals(serial)) {
            datatable.getCellData(testName, colnum, rownum);
            datatable.setCellData(testName, "Result", rownum,"PASS" );
            datatable = new Xls_Reader(System.getProperty("user.dir")+"//src//config//Result.xlsx");
            datatable.setCellData("Data Sheet", "Results", rownum,"PASS" );
            datatable.setCellData("Data Sheet", "Summary", rownum, getdata);
        }
    }

これは(String、string)として渡され、実行される単一のテストケース用です。問題は、コンテンツを結果に挿入すると、セル2、3に保存されることです。これは何度も上書きされます。複数のシートにある複数の実行されたケースをすべて追加したいので、結果を追加する必要があります。それは可能ですか?助けてください。

4

1 に答える 1

1

勝手な推測になりますが、何が起こっているかはわかっていると思います。

このスニペットを開始する前に、dataSheet 変数に格納された XSL シートを読み込んでいます。スニペットの先頭にある for ループは、dataSheet 変数の内容を調べて、反復ごとに完了条件を確認します。

シリアル値が何らかの値と等しい場合は、いくつかのことを行ってから、データシート変数を新しいドキュメントで上書きし、そこにいくつかの値を保存します。ループが完了すると、ループが完了したかどうか新しいデータシートが調べられます。私が見る限り、反復ごとに元のドキュメントを置き換えて、永遠にこのように進みます。

これを修正するには、少なくとも新しく作成したデータ シートを別の名前の変数に入れ、元のデータ シートの幅と高さをループに入る前に変数に格納して、ループの実行中に変更されないようにします。見た目では、実際に使用せずにデータシートからデータを取得していますか、それとも私だけですか?

于 2013-01-29T16:37:36.330 に答える