私は公式サイトからこれをコピーし、いくつかのTODO行をガイドライン。この概要に従うことで解決策を見つけることができます。私はそれがあなたの割り当てであるため、正確な答えを与えていません。
一つエクセル行== USCrimeClassオブジェクト
あなたはクラスの行にマップされたクラスを作成する必要があります。そのクラスの名前はUSCrimeClassにする必要があります。
USCrimeClass
USCrimeClassは、行のセルにマッピングされるフィールドを有していなければなりません。
例:
1994年から2013年
Official Reference
は、セルの内容を取得するには、セルの内容 の取得から、あなたは最初の必要性は、それが(求めているセルの種類を知っています数値の内容の文字列セルは、例えばNumberFormatExceptionを取得します。したがって、セルのタイプをオンにして、そのセルに適切なゲッターを呼び出すことが必要になります。
以下のコードでは、すべてのセルを1つのシートにループし、セルの参照(例:A3)を印刷してからセルの内容を印刷します。ほとんどのテキスト抽出の要件については
// import org.apache.poi.ss.usermodel.*;
DataFormatter formatter = new DataFormatter();
Sheet sheet1 = wb.getSheetAt(0);
//TODO int numberOfRows=getNumberOf Rows from sheet1;
//TODO USCrimeClass[] arrayOfUSCrimeClass =new USCrimeClass [numberOfRows]();
for (Row row : sheet1) {
//TODO create new object of USCrimeClass
//TODO USCrimeClass objectUSCrimeClass=new USCrimeClass();
for (Cell cell : row) {
CellReference cellRef = new CellReference(row.getRowNum(), cell.getColumnIndex());
System.out.print(cellRef.formatAsString());
System.out.print(" - ");
// get the text that appears in the cell by getting the cell value and applying any data formats (Date, 0.00, 1.23e9, $1.23, etc)
String text = formatter.formatCellValue(cell);
System.out.println(text);
// Alternatively, get the value and format it yourself
switch (cell.getCellTypeEnum()) {
case CellType.STRING:
System.out.println(cell.getRichStringCellValue().getString());
//TODO set values to feild from excel cell objectUSCrimeClass.setFrom(cell.getRichStringCellValue().getString());
break;
case CellType.NUMERIC:
if (DateUtil.isCellDateFormatted(cell)) {
System.out.println(cell.getDateCellValue());
} else {
System.out.println(cell.getNumericCellValue());
}
break;
case CellType.BOOLEAN:
System.out.println(cell.getBooleanCellValue());
break;
case CellType.FORMULA:
System.out.println(cell.getCellFormula());
break;
case CellType.BLANK:
System.out.println();
break;
default:
System.out.println();
}
}
//TODO add row object to array or list arrayOfUSCrimeClass[i]=objectUSCrimeClass;
}
テキスト抽出
、標準ExcelExtractorクラスを使用すると、必要なすべてを提供する必要があります。
InputStream inp = new FileInputStream("workbook.xls");
HSSFWorkbook wb = new HSSFWorkbook(new POIFSFileSystem(inp));
ExcelExtractor extractor = new ExcelExtractor(wb);
extractor.setFormulasNotResults(true);
extractor.setIncludeSheetNames(false);
String text = extractor.getText();
https://poi.apache.org/spreadsheet/examples.html
https://poi.apache.org/spreadsheet/quick-guide.html#Iterator
https://poi.apache.org/ http://stackoverflow.com/questions/15336457/how-to-process-old-excel-xls-ファイルを使用するpo – user3159253
[Javaでファイルを読み書きする方法]の複製があります(http://stackoverflow.com/questions/1516144/how-to-read-and-write-excel-file-in-java ) – user3159253
あなたの課題は、あなたがエクセルファイルを読む必要があるとは言いません。あなたは様々なタイプで読むことができます。単に「データを含むファイルを読む」と言っています。 –