使用Java从Excel中提取数据

我需要从excel中提取数据,但这不是正常的读取过程。 下面显示我的Excel的样子。 第一个单元格由6行组成。 我需要分别提取所有的细节。 第六排细节。

AIFAH BINTI ABD.LATIF 01072370 / Yello / 12九月1994/8841729/88460022 abeywicrema@gmail.com damith@gmail.com 1 TNY4k9xp No43 Spg Parak文莱达鲁萨兰国

AFAFAH BINTI ABD.LATIF 01002370像智者一样。

在这里输入图像说明

您可以使用Apache POI库,这是我find读取excel文件的最佳解决scheme。 其他可能的库,你可以使用Jexcel

另外,网上有很多的教程。

可能是这个代码帮助你

import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Iterator; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFRow; public class ReadExcel { public static void main( String [] args ) { try { InputStream input = new BufferedInputStream( new FileInputStream("sample.xls")); POIFSFileSystem fs = new POIFSFileSystem( input ); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFSheet sheet = wb.getSheetAt(0); Iterator rows = sheet.rowIterator(); while( rows.hasNext() ) { HSSFRow row = (HSSFRow) rows.next(); System.out.println("\n"); Iterator cells = row.cellIterator(); while( cells.hasNext() ) { HSSFCell cell = (HSSFCell) cells.next(); if(HSSFCell.CELL_TYPE_NUMERIC==cell.getCellType()) System.out.print( cell.getNumericCellValue()+" " ); else if(HSSFCell.CELL_TYPE_STRING==cell.getCellType()) System.out.print( cell.getStringCellValue()+" " ); else if(HSSFCell.CELL_TYPE_BOOLEAN==cell.getCellType()) System.out.print( cell.getBooleanCellValue()+" " ); else if(HSSFCell.CELL_TYPE_BLANK==cell.getCellType()) System.out.print( "BLANK " ); else System.out.print("Unknown cell type"); } } } catch ( IOException ex ) { ex.printStackTrace(); } } }