java之poi读和写xls

1 java中能通过poi来读和写xls文件。首先需要有poi的jar。是:poi2.jar和poi-3.1-FINAL-20080629.jar。HSSF是用来的去xls格式的文件的。


2 首先是写xls文件。通过poi来写xls文件,有一个顺序,是HSSFWorkbook,然后是HSSFSheet,然后是HSSFRow,最后是HSSFCell
如:public void writerXls(String filename){
HSSFWorkbook hssfWorkbook=new HSSFWorkbook();--HSSFWorkbook
HSSFSheet sheet=hssfWorkbook.createSheet("first_sheet");--HSSFSheet
for(int i=0;i<10;i++){
HSSFRow row=sheet.createRow(i);--HSSFRow
for(int j=0;j<10;j++){
short k=(short) j;
HSSFCell cell=row.createCell(k);--HSSFCell
cell.setCellValue("("+i+","+j+")");
}
}

try {
FileOutputStream fileOutputStream=new FileOutputStream(new File(filename));
hssfWorkbook.write(fileOutputStream);--最后将内容写入到xls文件中。。。
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("文件没有找到。。。。");
//e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("将内容写入到xls中,发生错误。。。。。");
//e.printStackTrace();
}
}


3 其次是读取xls文件。通过poi来读取xls文件时,是先读取HSSFWorkbook,然后通过getSheetAt得到HSSFSheet,然后通过rowInterator得到HSSFRow,最后通过cellIterator得到HSSFCell,
在得到HSSFSheet后,可以通过rowInterator得到HSSFRow,
得到HSSFRow后,可以通过cellInterator得到HSSFCell
如:public void readXls(String filename){
try {
FileInputStream fileInputStream=new FileInputStream(new File(filename));
HSSFWorkbook hssfWorkbook=new HSSFWorkbook(fileInputStream);
HSSFSheet sheet=hssfWorkbook.getSheetAt(0);--得到HSSFSheet
System.out.println("sheet name is :"+hssfWorkbook.getSheetName(0));
Iterator iterator_row=sheet.rowIterator();
int i=0;
while(iterator_row.hasNext()){
HSSFRow row=(HSSFRow) iterator_row.next();--通过迭代器得到HSSFRow
System.out.println("第"+i+"行");
i=i+1;
Iterator iterator_cell=row.cellIterator();
while(iterator_cell.hasNext()){
HSSFCell cell=(HSSFCell)iterator_cell.next();--通过迭代器得到HSSFCell
String cell_value=cell.getStringCellValue();
System.out.print(""+cell_value+",");
}
System.out.println();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
System.out.println("文件没有找到。。。");
} catch (IOException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
System.out.println("读取xls文件出错。。。");
}

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值