Javaファイル最後のデータのみがファイルに挿入されます

user3793580
package Reader;
        public class Write_Excel  {
            private WritableCellFormat timesBoldUnderline;
            private WritableCellFormat times;
            private String inputFile;
            Thread thread = new Thread();
            static String box, plc, hmi;
            int k=1,cnt=1;

    public void witeExcel(ArrayList<String> B,ArrayList<String> P, ArrayList<String> H)
                    throws WriteException, IOException {
                Write_Excel test = new Write_Excel();
                test.setOutputFile("C://Users//Tanmay//Desktop//Export.xls");
                for (int index = 0; index < B.size(); index++) {
                box = B.get(index);
                plc = P.get(index);
                hmi = H.get(index);

                test.write();
            }System.out.println("Please check the result file under C://Users//Tanmay//Desktop//Export.xls ");
            }

            public void setOutputFile(String inputFile) {
                this.inputFile = inputFile;
            }

            public void write() throws IOException, WriteException {
                File file = new File(inputFile);
                WorkbookSettings wbSettings = new WorkbookSettings();
                wbSettings.setLocale(new Locale("en", "EN"));
                WritableWorkbook workbook = Workbook.createWorkbook(file, wbSettings);
                workbook.createSheet("Serial Numbers", 0);
                WritableSheet excelSheet = workbook.getSheet(0);
                excelSheet.setColumnView(1, 15);
                excelSheet.setColumnView(2, 15);
                excelSheet.setColumnView(3, 15);
                createLabel(excelSheet);
                createContent(excelSheet);
                workbook.write();
                System.out.println("Value of k in close method is "+k);
                if(k==4) {
                    System.out.println("Condition Satisfied where value is "+k);
                    workbook.close();   
                }       
            }

            private void createLabel(WritableSheet sheet) throws WriteException {
                //System.out.println("In create label method");
                // Lets create a times font
                WritableFont times10pt = new WritableFont(WritableFont.ARIAL, 12);
                // Define the cell format
                times = new WritableCellFormat(times10pt);
                // Lets automatically wrap the cells
                times.setWrap(true);

                // create create a bold font with underlines
                WritableFont times10ptBoldUnderline = new WritableFont(
                        WritableFont.TIMES, 12, WritableFont.BOLD, false);
                timesBoldUnderline = new WritableCellFormat(times10ptBoldUnderline);
                // Lets automatically wrap the cells
                timesBoldUnderline.setWrap(false);

                CellView cv = new CellView();
                cv.setFormat(times);
                cv.setSize(20);
                cv.setFormat(timesBoldUnderline);

                // Write a few headers
                addCaption(sheet, 0, 0, "BOX");
                addCaption(sheet, 1, 0, "CPU");
                addCaption(sheet, 2, 0, "HMI");
                //System.out.println("Out create label method");
            }

            private void addCaption(WritableSheet sheet, int column, int row, String s)
                    throws RowsExceededException, WriteException {
                //System.out.println("In addCaption Method");
                Label label;
                label = new Label(column, row, s, timesBoldUnderline);
                sheet.addCell(label);
                //System.out.println("Out addCaption Method");
            }

            private void createContent(WritableSheet sheet) throws WriteException,
                    RowsExceededException {
                System.out.println("In createContent Method");
                    addLabel(sheet, 0, k, box);
                    addLabel(sheet, 1, k, plc);
                    addLabel(sheet, 2, k, hmi);
                    //System.out.println("Value of K is "+k);
                    System.out.println("Out createContent Method");
                    k++;
            }

            private void addLabel(WritableSheet sheet, int column, int row, String s)
                    throws WriteException, RowsExceededException {
                System.out.println("In Addlabel Method");
                Label label;
                label = new Label(column, row, s, times);
                System.out.println("Value of row is "+row+" Value of column is "+column+" Value string is "+s );
                sheet.addCell(label);
                System.out.println("Out addlabel Method");
            }
        }

私はバーコード読み取り用のアプリケーションを構築しています。以下のコードの問題は、o / pでExcelファイルを取得すると、テーブル形式で取得された最後のデータのみがo / pのExcelファイルに取得されることです。どこが間違っているのか、何をすべきかについてアドバイスが必要でした。私はすでにsystem.out.printlln()ですべてをチェックしました。しかし、解決策は見つかりませんでした。

 Thanks in advance and double to one who helps to get right solution.
CoderCroc

理由は、呼び出すたびにメソッドでワークブックを作成しているため、古いデータがクリーンアップされ、新しいデータが追加されるためです。

これをメソッドから削除し、別の場所に移動して1回実行します。

  File file = new File(inputFile);//From File
  WorkbookSettings wbSettings = new WorkbookSettings();
  wbSettings.setLocale(new Locale("en", "EN"));
  WritableWorkbook workbook = Workbook.createWorkbook(file, wbSettings);
  workbook.createSheet("Serial Numbers", 0);/To configuration

初期化をコンストラクターに移動することをお勧めします。

  • すべての初期化をコンストラクターに移動するOR
  • 内の要素を初期化するwriteExcel しかし 宣言でこれらの変数をクラスレベルはあなたがそれらを初期化することができ、あなたのvariables.Soを宣言した手段wordExcel

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

古いデータなしでExcelファイルの最後に行を挿入します

分類Dev

JListにファイルを再帰的に追加する-最後のフォルダー内のファイルのみが追加されます

分類Dev

C#.csvファイルの最後の5行をデータグリッドに挿入する

分類Dev

テーブルデータをtxt(または)csvファイルにエクスポートする方法は?最後のクエリ結果セットのみがファイルにエクスポートされましたか?

分類Dev

ファイルを読み取りますが、ファイルの最後の文字列のみを挿入します

分類Dev

LinkedListの最後のデータのみを(ファイルに)書き込みます

分類Dev

ファイルの読み取りと書き込みにより、最後の番号が追加されます

分類Dev

gulpファイルで最後のコールバックのみが呼び出されています

分類Dev

Java-.txtファイルをarrayListに読み取ると、最後の反復が省略され、エラーが表示されます

分類Dev

ファイルのさまざまな行の最後にさまざまなデータを追加します

分類Dev

csvファイルの特定の列にデータを挿入します

分類Dev

行インデックスのあるパターンの後に新しい文字列を挿入し、新しいファイルに書き込みます

分類Dev

AngularJSは複数のファイルに分割されます-最後のファイルのみが機能します

分類Dev

C ++-数値のテーブルをファイルから2D配列に読み取ります(最後の行のみが格納されます)

分類Dev

すべてのデータをjsonファイルに保存しますが、最後のインデックスのみを取得します

分類Dev

ObjectOutputStreamを使用して、データがバイナリファイルの最後に追加されない

分類Dev

ファイルのセットに3つの最後の日付ファイル(つまり、ファイルに追加された日付)のみを保持し、特定のディレクトリに残っているファイルを削除します

分類Dev

ファイルの最後の行の前にEOFステートメントを挿入します

分類Dev

sed、最後の行の前にファイルを挿入

分類Dev

パターンの後にファイルを他のファイルに挿入する

分類Dev

CSVファイルの行が最後にカットされます

分類Dev

指定されたパターンの前にファイルに複数の行を挿入します

分類Dev

Javaでファイルの最後まで読みます

分類Dev

Javaファイルはデフォルトのタイムゾーンで最後に変更されましたか?

分類Dev

txtファイルからデータを読み取ると、最後の行のみが読み取られます

分類Dev

ターミナルは.commandファイルに挿入されます

分類Dev

jsonファイルにデータを挿入します

分類Dev

方程式ソルバーからファイルオーバーループにデータを書き込むと、最後の2つの要素のみが出力されます

分類Dev

ファイルのステータスが最後に変更されたのはいつですか?

Related 関連記事

  1. 1

    古いデータなしでExcelファイルの最後に行を挿入します

  2. 2

    JListにファイルを再帰的に追加する-最後のフォルダー内のファイルのみが追加されます

  3. 3

    C#.csvファイルの最後の5行をデータグリッドに挿入する

  4. 4

    テーブルデータをtxt(または)csvファイルにエクスポートする方法は?最後のクエリ結果セットのみがファイルにエクスポートされましたか?

  5. 5

    ファイルを読み取りますが、ファイルの最後の文字列のみを挿入します

  6. 6

    LinkedListの最後のデータのみを(ファイルに)書き込みます

  7. 7

    ファイルの読み取りと書き込みにより、最後の番号が追加されます

  8. 8

    gulpファイルで最後のコールバックのみが呼び出されています

  9. 9

    Java-.txtファイルをarrayListに読み取ると、最後の反復が省略され、エラーが表示されます

  10. 10

    ファイルのさまざまな行の最後にさまざまなデータを追加します

  11. 11

    csvファイルの特定の列にデータを挿入します

  12. 12

    行インデックスのあるパターンの後に新しい文字列を挿入し、新しいファイルに書き込みます

  13. 13

    AngularJSは複数のファイルに分割されます-最後のファイルのみが機能します

  14. 14

    C ++-数値のテーブルをファイルから2D配列に読み取ります(最後の行のみが格納されます)

  15. 15

    すべてのデータをjsonファイルに保存しますが、最後のインデックスのみを取得します

  16. 16

    ObjectOutputStreamを使用して、データがバイナリファイルの最後に追加されない

  17. 17

    ファイルのセットに3つの最後の日付ファイル(つまり、ファイルに追加された日付)のみを保持し、特定のディレクトリに残っているファイルを削除します

  18. 18

    ファイルの最後の行の前にEOFステートメントを挿入します

  19. 19

    sed、最後の行の前にファイルを挿入

  20. 20

    パターンの後にファイルを他のファイルに挿入する

  21. 21

    CSVファイルの行が最後にカットされます

  22. 22

    指定されたパターンの前にファイルに複数の行を挿入します

  23. 23

    Javaでファイルの最後まで読みます

  24. 24

    Javaファイルはデフォルトのタイムゾーンで最後に変更されましたか?

  25. 25

    txtファイルからデータを読み取ると、最後の行のみが読み取られます

  26. 26

    ターミナルは.commandファイルに挿入されます

  27. 27

    jsonファイルにデータを挿入します

  28. 28

    方程式ソルバーからファイルオーバーループにデータを書き込むと、最後の2つの要素のみが出力されます

  29. 29

    ファイルのステータスが最後に変更されたのはいつですか?

ホットタグ

アーカイブ