代码只读.xlsx格式。
InputStream in = lob.getBinaryStream();
OPCPackage pkg = OPCPackage.open(in);
XSSFReader r = new XSSFReader(pkg);
SharedStringsTable sst = r.getSharedStringsTable();
如何在 Java 中读取 50MB xls excel 文件?
首先:阅读Excel文件与Spring和Hibernate无关。您正在使用 Apache POI 库。 XSSFReader
是一个用于读取XLSX文件的类,这就是为什么你不能用它读取XLS文件。在CalliCoder站点上有一个从XLS和XLSX文件中读取数据的详细和注释示例。我将在这里复制一个简短的片段来帮助您入门:
public class ExcelReader {
public static final String SAMPLE_XLSX_FILE_PATH = "./sample-xlsx-file.xlsx";
public static void main(String[] args) throws IOException, InvalidFormatException {
Workbook workbook = WorkbookFactory.create(new File(SAMPLE_XLSX_FILE_PATH));
System.out.println("Workbook has " + workbook.getNumberOfSheets() + " Sheets : ");
for(Sheet sheet: workbook) {
System.out.println("=> " + sheet.getSheetName());
}
}
}