0
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelData {
File fs;
FileInputStream fis;
XSSFWorkbook workbook;
XSSFSheet sheet;
FileOutputStream fos;
public ExcelData(String datafile_path) throws Exception{
fs=new File(datafile_path);
fis=new FileInputStream(fs);
workbook=new XSSFWorkbook(fis);
fos=new FileOutputStream(fs);
public Object readData(int sheet_num, int row_num, int column_num) throws Exception{
sheet=workbook.getSheetAt(sheet_num);
//sheet.getRow(row_num).getCell(column_num).CELL_TYPE_STRING;
Object data = null;
if (sheet.getRow(row_num).getCell(column_num).getCellType()==Cell.CELL_TYPE_STRING){
data=sheet.getRow(row_num).getCell(column_num).getStringCellValue();
} else if (sheet.getRow(row_num).getCell(column_num).getCellType()==Cell.CELL_TYPE_NUMERIC){
data=sheet.getRow(row_num).getCell(column_num).getNumericCellValue();
}
workbook.close();
//String data=sheet.getRow(row_num).getCell(column_num).getStringCellValue();
workbook.close();
fis.close();
return data;
}
----このコードはデータを読み込む際に機能しています。すべてのデータは正常に読み込まれますが、ファイルを見ると実行後に破損し、サイズは10 kbから0 kbです。apache POIでデータを読み取る際の問題。データは読み込まれますが、その後Excelファイルが破損します
のために動作します。彼らはハムとハンバーガーと密接に関連しています – charlietfl
ファイルの 'FileOutputStream'をなぜ開くのですか? 'Workbook.close'はその出力ストリームを閉じますが、何も書き込まれません。そのファイルは空です。何かを書きたいと思っていなければ、出力ストリームを開くべきではありません。 –