Apache POIで「The supplied data appears to be in the Office 2007+ XML. POI only supports OLE2 Office documents」エラー

javaApache POI

Apache POIで「The supplied data appears to be in the Office 2007+ XML. POI only supports OLE2 Office documents」エラー

Apache POIで「The supplied data appears to be in the Office 2007+ XML. POI only supports OLE2 Office documents」というエラーが発生しました。

これはExcel2007以降を読み込みたい場合は、以下を使いなさいという意味です。

import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

以下はExcel2003までです。

import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

以下、getLastRowNum()メソッドを使用して、エクセルから最終行を表示する例です。

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ApachePoiTest {

  /**
   * @param args
   * @throws IOException
   * @throws FileNotFoundException
   */
  public static void main(String[] args) throws FileNotFoundException, IOException {

    XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream("D:\\sample.xlsx"));
    XSSFSheet sheet = wb.getSheet("Sheet1");

    System.out.println(sheet.getLastRowNum());// 最終行を調べたい(空白行は無視されるのか)
  }
}

コメント

タイトルとURLをコピーしました