2010-11-24 19 views

cevap

12

Apache POI 3.7 yeni sürüm kullanmayı deneyin, bu türüyle ilgili

Ayrıntıları endişelenmeden HSSF ve XSSF hem kolları SS paket var "SS paket çözüm, ayrıca sadece doğru şöyle bir Workbook interface nesnesine hakkı workbook format yüklemek için bir if statement kullanabilirsiniz:

Workbook workbook; //<-Interface, accepts both HSSF and XSSF. 
File file = new File("YourExcelFile.xlsx"); 
if (FileUtils.getFileExt(file).equalsIgnoreCase("xls")) { 
    workbook = new HSSFWorkbook(new FileInputStream(file)); 
} else if (FileUtils.getFileExt(file).equalsIgnoreCase("xlsx")) { 
    workbook = new XSSFWorkbook(new FileInputStream(file)); 
} else { 
    throw new IllegalArgumentException("Received file does not have a standard excel extension."); 
} 
+0

Öncelikle yardımlarınız için teşekkürler. Bahsettiğiniz sayfayı kontrol ettim. Tamam. Benim Java buna rağmen, 3.7-beta3 Ancak org.apache.poi poi-contrib: Ben pom.xml'Bu aşağıdaki kodu ekledim sınıf hala XSSFWorkbook çözemez? HSSFWorkbook() ile ilgili bir sorun yoktur; Çalışma kitabı [] wbs = new Çalışma kitabı [] {new HSSFWorkbook(), yeni XSSFWorkbook()}; –

+5

XSSFWorkbook groupId içinde: org.apache.poi, artifactId: poi-ooxml – rlovtang

5

: Bunun yerine yapmanın

+0

Ve NPOI kullanılıyorsa "IWorkbook" –

0

kullanın fabrika yerine hangi h her ikisi de xssf ve hssf

import org.apache.poi.ss.usermodel.Workbook; 
import org.apache.poi.ss.usermodel.WorkbookFactory; 

Workbook wb = WorkbookFactory.create(new File("file"))