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時間から解決策を探していました)