利用Java Excel API读写excel文件

最近做了需求,从数据库读取数据,分析处理后生成一个excel文件。

搜了下,有二个库还是比较不错的。Apach的POI功能比较强大些,JXL比较小巧,我选择JXL,不需要那么多的功能。

 

1.读excel

public void read(){
	String org = "D:\\test\\org.xls"	 
        try{
			    FileInputStream fileInputStream = new FileInputStream(org);
				Workbook workbook = Workbook.getWorkbook(fileInputStream);
				Sheet sheet = workbook.getSheet(0);
				Cell cell = sheet.getCell(2, 3); //参数为:列,行 
				String content = cell.getContents();
				workbook.close();
				fileInputStream.close();
				
		 }catch(Exception e){
			 e.printStackTrace();
		 }
	 }
Workbook workbook = Workbook.getWorkbook(fileInputStream);// 获取读Excel的类实例

 Sheet sheet = Workbook.getSheet(0); 其中0表示sheet表的索引,从0开始,

 Cell cell = sheet.getCell(2,3);其中Cell表示一个单元格,参数为:列,行,从0开始,

 

2.写入excel

public void write(){
		 try{
			 FileOutputStream fileOutputStream = new FileOutputStream(path);
			 WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileOutputStream);
			 WritableSheet writableSheet = null;
			 for(int i=0;i<3;i++){
				 String sheet = "";
				 if(i ==0){
					 sheet = "一季度";
				}
				 else if(i ==1){
					 sheet = "二季度";
				 }
				 else if(i ==2){
					 sheet = "三季度";
				 }
				 writableSheet = writableWorkbook.createSheet(sheet, i);
				 Label label = new Label(1,1, "财务数据");
				 writableSheet.addCell(label);
		     }
			 writableWorkbook.write();
			 writableWorkbook.close();
			 fileOutputStream.close();
		 }catch(Exception e){
			 e.printStackTrace();
		 }
	 }

 逻辑:循环创建了3个sheet表,每个表里添加了一个数据。我写的很简单,当然还可以写复杂的。

WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileOutputStream);//创建一个可写的工作簿。

writableSheet = writableWorkbook.createSheet(sheet, i);//创建工作表,参数为: sheet表名称,sheet表索引值。

Label label = new Label(row, col, content);//单元格实例,row行号,col列号,都是从0开始,content为String,单元格内容。

writableSheet.addCell(label);//把单元格加入工作簿

 

WriteableBook.write();//在最后调用此方法将缓冲写入Excel;
写的简单,但够用实用..............
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值