读取excel2003习惯用jxl.
[color=darkblue][size=medium] Workbook wb = null;
try {
//构造 Workbook(工作薄)对象
wb=Workbook.getWorkbook(file);
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if(wb==null)
return null;
//获得了Workbook 对象之后,就可以通过它得到Sheet(工作表)对象了
Sheet[] sheet = wb.getSheets();
if(sheet!=null&&sheet.length>0){
//对每个工作表进行循环
for(int i=0;i<sheet.length;i++){
//得到当前工作表的行数
int rowNum = sheet[i].getRows(); [/size]
如果是xlsx的2007格式.
读取是,即使设定了当前列为纯文本格式,读取出来的数字居然还是float.
所以只能在程序中判断:
[size=medium] XSSFWorkbook xwb = new XSSFWorkbook("c:\\aaa.xlsx");
// 读取第一章表格内容
XSSFSheet sheet = xwb.getSheetAt(0);
// 定义 row、cell
XSSFRow row;
Cell cell;
// 循环输出表格中的内容
for (int i = sheet.getFirstRowNum(); i < sheet.getPhysicalNumberOfRows(); i++) {
row = sheet.getRow(i);
for (int j = row.getFirstCellNum(); j < row.getPhysicalNumberOfCells(); j++) {
// 通过 row.getCell(j).toString() 获取单元格内容,
cell = row.getCell(j);
String value="";
switch(cell.getCellType())
{
case Cell.CELL_TYPE_NUMERIC:
NumberFormat f=new DecimalFormat("############");
f.setMaximumFractionDigits(0);
value= f.format(cell.getNumericCellValue());
break;
case Cell.CELL_TYPE_STRING:
value=cell.getStringCellValue();
break;
}
System.out.print(value+ "\t");
}
System.out.println("");
} [/size][/color]
[color=darkblue][size=medium] Workbook wb = null;
try {
//构造 Workbook(工作薄)对象
wb=Workbook.getWorkbook(file);
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if(wb==null)
return null;
//获得了Workbook 对象之后,就可以通过它得到Sheet(工作表)对象了
Sheet[] sheet = wb.getSheets();
if(sheet!=null&&sheet.length>0){
//对每个工作表进行循环
for(int i=0;i<sheet.length;i++){
//得到当前工作表的行数
int rowNum = sheet[i].getRows(); [/size]
如果是xlsx的2007格式.
读取是,即使设定了当前列为纯文本格式,读取出来的数字居然还是float.
所以只能在程序中判断:
[size=medium] XSSFWorkbook xwb = new XSSFWorkbook("c:\\aaa.xlsx");
// 读取第一章表格内容
XSSFSheet sheet = xwb.getSheetAt(0);
// 定义 row、cell
XSSFRow row;
Cell cell;
// 循环输出表格中的内容
for (int i = sheet.getFirstRowNum(); i < sheet.getPhysicalNumberOfRows(); i++) {
row = sheet.getRow(i);
for (int j = row.getFirstCellNum(); j < row.getPhysicalNumberOfCells(); j++) {
// 通过 row.getCell(j).toString() 获取单元格内容,
cell = row.getCell(j);
String value="";
switch(cell.getCellType())
{
case Cell.CELL_TYPE_NUMERIC:
NumberFormat f=new DecimalFormat("############");
f.setMaximumFractionDigits(0);
value= f.format(cell.getNumericCellValue());
break;
case Cell.CELL_TYPE_STRING:
value=cell.getStringCellValue();
break;
}
System.out.print(value+ "\t");
}
System.out.println("");
} [/size][/color]