使用poi来解析Excel的xls和xlsx。
解析xls:
package xls;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class XlsMain {
public static void main( String[] args) throws IOException {
XlsMain xlsMain = new XlsMain();
xlsMain.readXls();
}
private void readXls() throws IOException{
InputStream is = new FileInputStream( "D:\\excel\\xls_test2.xls");
HSSFWorkbook hssfWorkbook = new HSSFWorkbook( is);
// 循环工作表Sheet
for(int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++){
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt( numSheet);
if(hssfSheet == null){
continue;
}
// 循环行Row
for(int rowNum = 0; rowNum <= hssfSheet.getLastRowNum(); rowNum++){
HSSFRow hssfRow = hssfSheet.getRow( rowNum);
if(hssfRow == null){
continue;
}
// 循环列Cell
for(int cellNum = 0; cellNum <= hssfRow.getLastCellNum(); cellNum++){
HSSFCell hssfCell = hssfRow.getCell( cellNum);
if(hssfCell == null){
continue;
}
System.out.print(" " + getValue( hssfCell));
}
System.out.println();
}
}
}
@SuppressWarnings("static-access")
private String getValue(HSSFCell hssfCell){
if(hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN){
return String.valueOf( hssfCell.getBooleanCellValue());
}else if(hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC){
return String.valueOf( hssfCell.getNumericCellValue());
}else{
return String.valueOf( hssfCell.getStringCellValue());
}
}
}
解析xlsx:
package xlsx;
import java.io.IOException;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class XlsxMain {
public static void main( String[] args) throws IOException {
XlsxMain xlsxMain = new XlsxMain();
xlsxMain.readXlsx();
}
private void readXlsx() throws IOException{
String fileName = "D:\\excel\\xlsx_test.xlsx";
XSSFWorkbook xssfWorkbook = new XSSFWorkbook( fileName);
// 循环工作表Sheet
for(int numSheet = 0; numSheet < xssfWorkbook.getNumberOfSheets(); numSheet++){
XSSFSheet xssfSheet = xssfWorkbook.getSheetAt( numSheet);
if(xssfSheet == null){
continue;
}
// 循环行Row
for(int rowNum = 0; rowNum <= xssfSheet.getLastRowNum(); rowNum++ ){
XSSFRow xssfRow = xssfSheet.getRow( rowNum);
if(xssfRow == null){
continue;
}
// 循环列Cell
for(int cellNum = 0; cellNum <= xssfRow.getLastCellNum(); cellNum++){
XSSFCell xssfCell = xssfRow.getCell( cellNum);
if(xssfCell == null){
continue;
}
System.out.print(" "+getValue(xssfCell));
}
System.out.println();
}
}
}
@SuppressWarnings("static-access")
private String getValue(XSSFCell xssfCell){
if(xssfCell.getCellType() == xssfCell.CELL_TYPE_BOOLEAN){
return String.valueOf( xssfCell.getBooleanCellValue());
}else if(xssfCell.getCellType() == xssfCell.CELL_TYPE_NUMERIC){
return String.valueOf( xssfCell.getNumericCellValue());
}else{
return String.valueOf( xssfCell.getStringCellValue());
}
}
}
分享到:
相关推荐
使用poi解析excel文件,并将数据写入到数据库 项目说明 这个项目实现的功能是读取excel文件中的数据,解析并写入数据库。 读取的excel文件位于项目目录下的 excel\0805.xlsx 使用IntelliJ IDEA开发此项目 使用MYSQL...
使用poi解析excel将数据存入Oraclo所用的joi包
一个解单的java工程,利用poi解析excel.下载代码直接可以运行。
在使用poi解析Excel时,会遇缺少很多的包,这里都包括了
POI解析Excel简单实例
通过Java Poi 解析EXCEL数据,内附实现代码,绝对可以用。要分不为别的,只为能给个评论。
通过poi解析Excel示例
采用poi3.8解析excel文件,内含实例代码和jar包
poi解析excel2003、2007 poi解析excel2003、2007 poi解析excel2003、2007
利用 Apache POI 对 excel 操作并存入MySQL数据库的一个小demo。
自己写的一个poi解析excel 的工具类。里面有些实用的方法,满足基本的解析要求了。
最新版poi解析excel2007源码,简单实用,需要的可下.
1.不分版本,2003/2007完美解析 2.调用方便 3.输出直观 4.解析excel工程demo
apache poi解析Excel时报错,我将Excel打开后保存,就不会报错,我将重写的类从新打包这样问题虽然网上有解决方案,但是需要自己打包重写对应类,我已将这些步骤做好了。
最近公司需要把excel数据导入到mysql,自己结合网上例子写的demo。sql,excel都有,需要的小伙伴可以看看
POI解析Excel2007
使用java或android语言解析Excel数据时,通常采用poi的jar包进行解析,当前Apache最近的jar包是3.17,但有时版本过高导致出错,所以也附上poi-3.10的jar包
附件包含一个web项目,是一个简单的解析excel和word的例子,项目中包含jar poi解析excel、word2007,2010等版本