Apache POIで「The supplied data appears to be in the Office 2007+ XML. POI only supports OLE2 Office documents」というエラーが発生しました。
これはExcel2007以降を読み込みたい場合は、以下を使いなさいという意味です。
1 2 |
import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; |
以下はExcel2003までです。
1 2 |
import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; |
以下、getLastRowNum()メソッドを使用して、エクセルから最終行を表示する例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
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());// 最終行を調べたい(空白行は無視されるのか) } } |
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^