我想读取一个大的Excel文件。我特地到POI库,但我不能够理解POI event Library如何使用POI库来读取大型Excel文件(.xlsx)?
目前的代码我只是想读取Excel文件并更改数据类型后写的每个元素到一个新的文件,然后将其保存在数据库中。
我也尝试过sjxlsx.jar。但是在实现时,我发现该jar不包含所有的类方法。
SimpleXLSXWorkbook workbook = new SimpleXLSXWorkbook(new File("C:/test.xlsx"));
HSSFWorkbook hsfWorkbook = new HSSFWorkbook();
org.apache.poi.ss.usermodel.Sheet hsfSheet = hsfWorkbook.createSheet();
Sheet sheetToRead = workbook.getSheet(0, false);
SheetRowReader reader = sheetToRead.newReader();
Cell[] row;
int rowPos = 0;
while ((row = reader.readRow()) != null) {
org.apache.poi.ss.usermodel.Row hfsRow = hsfSheet.createRow(rowPos);
int cellPos = 0;
for (Cell cell : row) {
if(cell != null){
org.apache.poi.ss.usermodel.Cell hfsCell = hfsRow.createCell(cellPos);
hfsCell.setCellType(org.apache.poi.ss.usermodel.Cell.CELL_TYPE_STRING);
hfsCell.setCellValue(cell.getValue());
}
cellPos++;
}
rowPos++;
}
return hsfSheet;
任何人都可以帮助我如何使用XSSF和SAX(事件API)来读取大型Excel文件?
你可以粘贴你试过的代码吗?以及你在阅读时收到什么错误信息? –
我还没有尝试过使用apache POI的任何代码。我试过的那个给了我内存不足的错误。对于sjxlsx以下是代码 – rahul