0

Hye MS Office ドキュメントを読むための Apache POI API は初めてですが、Java は何とか得意です。Excel ファイルから特定の文字列を検索したいだけです。私はこのようにやっています:

   private void processExcelFile(File f_path) throws Exception{
    File path=f_path;

    try{

        FileInputStream is=new FileInputStream(path);

        HSSFWorkbook wb = new HSSFWorkbook(is);
        HSSFSheet sheet = wb.getSheetAt(0);

        int rowcount_post=0;
        int rowcount_304=0;

                for(Row row: sheet){
                    for(Cell cell : row){

                        if (cell.getCellType() == Cell.CELL_TYPE_STRING){
                                if (cell.getRichStringCellValue().getString().trim().equals("GET")){
                                        rowcount_post=row.getRowNum();

                                        HSSFRow removingRow = sheet.getRow(rowcount_post);

                                            if (removingRow != null) {
                                            sheet.removeRow(removingRow);
                                            }

                                     try (FileOutputStream fileOut = new FileOutputStream("C:/juni.xls")) {
                                        wb.write(fileOut);
                                    }
                                    break;
                                }
                                else{
                                    System.out.print("NOT FOUND");

                                }


                        break;
                        }

                    }
                }

    }
    catch(Exception e){
           JOptionPane.showMessageDialog(this,e.getMessage(),"Error",JOptionPane.ERROR_MESSAGE);
    }
}

すべて正常に動作しています!ただし、Web で生成されたログ ファイルがあります。そのため、いくつかの文字列を検索する必要があり、その文字列を含む行を削除する必要があります。問題は、私が手で作成しているExcelファイルでのみ機能し、コンピューターで生成された(自動ログファイル)ファイルでは機能しないことです。文字列「POST」を検索する必要があるとします。これは、私が生成したファイルでのみ検出され、Web サイトで生成されたファイルでは検出されません。それはエンコーディングの問題ですか、つまり、エンコードされたテキストか何かです! これに対する解決策を提案してください 事前に感謝します! (下手な英語でごめんなさい、私は過去10時間から解決策を探していました)

4

1 に答える 1