poiを使用したExcelデータの読み込み@Java
忘れないようにサンプルコードを残しておく。
1. xlsファイル
public void printDataFromXls() { String filePath = "D:/test/file.xls"; try { //Excelのワークブックの読み込み POIFSFileSystem poiFile = new POIFSFileSystem (new FileInputStream(filePath)); HSSFWorkbook wb = new HSSFWorkbook(poiFile); //シートの読み込み HSSFSheet sheet = wb.getSheet("Sheet1"); //値読み込み for(int i = 1; i <= sheet.getLastRowNum(); i++) { HSSFRow row = sheet.getRow(i); HSSFCell cell = row.getCell(0); String cellString = cell.getStringCellValue(); System.out.println(cellString); } } catch (Exception e) { e.printStackTrace(); } }
2. xlsxファイル
public void printDataFromXlsx() { String filePath = "D:/test/file.xlsx"; try { //Excelのワークブックの読み込み FileInputStream fis = new FileInputStream(filePath); XSSFWorkbook wb = new XSSFWorkbook(fis); //シートの読み込み XSSFSheet sheet = wb.getSheet("Sheet1"); //値読み込み for(int i = 1; i <= sheet.getLastRowNum(); i++) { XSSFRow row = sheet.getRow(i); XSSFCell cell = row.getCell(0); String cellString = cell.getStringCellValue(); System.out.println(cellString); } } catch (Throwable e) { e.printStackTrace(); } }
はまった所
- xlsxファイルの取込で、コンパイルは通るのに実行するとNoClassDefFoundError
poiを取得した際に一緒についてくる、ooxml-libディレクトリ内のxmlbeans-2.3.0.jarをビルドパスに通してなかったせい。
コンパイル通っても気を抜いちゃだめですね。