JavaはPOIを使用してExcelテーブルを処理します(セル内のデータを取得します)
1.POIとは?
Apache POIはApacheソフトウェア財団のオープンソースプロジェクトであり、POIはAPIがJavaプログラムにMicrosoft Officeフォーマットファイルの読み取りと書き込みの機能を提供する.NETの開発者は、NPOI(POI for.NET)を利用してMicrosoft Officeドキュメントにアクセスできる機能です.ここで、HSSFはMicrosoft Excel XLS形式のファイルを読み書きする機能を提供する.XSSFは、Microsoft Excel OOXML XLSX形式のファイルを読み書きする機能を提供します.HWPFは、Microsoft Word DOC形式のファイルを読み書きする機能を提供します.HSLFは、Microsoft PowerPoint形式のファイルを読み書きする機能を提供します.HDGFはMicrosoft Visio形式のファイルを読む機能を提供します.HPBFはMicrosoft Publisher形式のファイルを読む機能を提供します.HSMFはMicrosoft Outlook形式のファイルを読む機能を提供する.HSSFとXSSF HSSFについてはPOIエンジニアリングによるExcel 97(-2007)ファイル操作の純Java実装XSSFはPOIエンジニアリングによるExcel 2007 OOXML(.xlsx)ファイル操作の純Java実装POI 3.8バージョンからXSSFベースの低メモリ占有API----SXSSFを提供する
2.POI JARパッケージの取得
http://poi.apache.org/
3.POIを使用したExcelインスタンスの処理
Apache POIはApacheソフトウェア財団のオープンソースプロジェクトであり、POIはAPIがJavaプログラムにMicrosoft Officeフォーマットファイルの読み取りと書き込みの機能を提供する.NETの開発者は、NPOI(POI for.NET)を利用してMicrosoft Officeドキュメントにアクセスできる機能です.ここで、HSSFはMicrosoft Excel XLS形式のファイルを読み書きする機能を提供する.XSSFは、Microsoft Excel OOXML XLSX形式のファイルを読み書きする機能を提供します.HWPFは、Microsoft Word DOC形式のファイルを読み書きする機能を提供します.HSLFは、Microsoft PowerPoint形式のファイルを読み書きする機能を提供します.HDGFはMicrosoft Visio形式のファイルを読む機能を提供します.HPBFはMicrosoft Publisher形式のファイルを読む機能を提供します.HSMFはMicrosoft Outlook形式のファイルを読む機能を提供する.HSSFとXSSF HSSFについてはPOIエンジニアリングによるExcel 97(-2007)ファイル操作の純Java実装XSSFはPOIエンジニアリングによるExcel 2007 OOXML(.xlsx)ファイル操作の純Java実装POI 3.8バージョンからXSSFベースの低メモリ占有API----SXSSFを提供する
2.POI JARパッケージの取得
http://poi.apache.org/
3.POIを使用したExcelインスタンスの処理
public ArrayList<Students> analyzeFile() throws NumberFormatException {
ArrayList<Students> students = new ArrayList<Students>();
XSSFWorkbook xssfWorkbook = null;
try {
InputStream is = new FileInputStream(file);
xssfWorkbook = new XSSFWorkbook(is);//
Sheet sheet = xssfWorkbook.getSheet("sheet1");// Excel 1
//
int rows = sheet.getLastRowNum();
//
int clos = sheet.getRow(0).getPhysicalNumberOfCells();
for (int i = 1; i < rows; i++) {
for (int j = 0; j < clos; j++) {
//
int ID = Integer.parseInt(NumberToTextConverter.toText(sheet.getRow(i).getCell(j++).getNumericCellValue()));
String Name = sheet.getRow(i).getCell(j++).getStringCellValue();
String Department = sheet.getRow(i).getCell(j++).getStringCellValue();
int Age = Integer.parseInt(NumberToTextConverter.toText(sheet.getRow(i).getCell(j++).getNumericCellValue()));
String Run3km = sheet.getRow(i).getCell(j++).getStringCellValue();
int Sit_ups = Integer.parseInt(NumberToTextConverter.toText(sheet.getRow(i).getCell(j++).getNumericCellValue()));
int horizontal_bar = Integer.parseInt(NumberToTextConverter.toText(sheet.getRow(i).getCell(j++).getNumericCellValue()));
String Serpentine_run = sheet.getRow(i).getCell(j++).getStringCellValue();
students.add(new Students(ID,Name,Department,Age,Run3km,Sit_ups,horizontal_bar,Serpentine_run));
}
}
} catch (Exception e1) {
e1.printStackTrace();
}
return students;
}