poi 与jxl操作Excel表感悟
jxl只支持到Excel2003,如果使用的是2003以上的版本(比如Excel2007,Excel2010)则会报错,读取不了。
而poi3.5以上版本只支持Excel2007以上版本,2003以下版本则会报错
poi读取Excel表代码
package com.xiu.real;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import jxl.Workbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class PoiAndJxl {
public static void poi(){
String path1="E:\\jxlDemo.xlsx";
FileInputStream input=null;
File file=new File(path1);
try{
input=new FileInputStream(file);
XSSFWorkbook book=new XSSFWorkbook(input);
Sheet sheet=book.getSheetAt(0);
Row row=sheet.getRow(0);
int columns=sheet.getLastRowNum()+1;//取得行数
int rows=sheet.getPhysicalNumberOfRows()+1;//取得列数;
System.out.println("column:"+columns+"\t"+"row"+rows);
for(int i=0;i<columns;i++){
row=sheet.getRow(i);//取得所有行
String str=row.getCell(0).getStringCellValue();//取得第一列
System.out.println(str);
}
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String args[]){
poi();
}
}
jxl读取Excel代码:
package com.xiu.real;
import java.io.File;
import jxl.Sheet;
import jxl.Workbook;
import jxl.Cell;
public class JxlAndPoi {
public static void jxl(){
String path2="E:\\jxlDemo.xls";
File file=new File(path2);
Workbook book=null;
try{
book=Workbook.getWorkbook(file);
Sheet sheet=book.getSheet(0);//取得第一个工作表
int rowNums=sheet.getRows();//获得行数
int columns=sheet.getColumns();//获得列数
System.out.println("rowNums:"+rowNums+"\t"+"columns:"+columns);
for(int i=0;i<rowNums;i++){//行循环
// for(int j=0;j<columns;j++){//列循环
Cell cell=sheet.getCell(0,i);
String context=cell.getContents();
System.out.println(context);
// }
continue;
}
}catch(Exception e1){
e1.printStackTrace();
}finally{
book.close();
}
}
public static void main(String args[]){
jxl();
}
}