2016.7.23 通过Java创建excel jxl.jar

通过Java创建excel,首先要导入jxl.jar的包 build path

之后就是通过创建Java类来操作创建excel了。

创建excel:

简单粗暴,直接上代码:

//创建建立excel的对象,顾名思义
	 static private WritableWorkbook book = null;
	 //创建工作表对象
	 static private WritableSheet sheet1 = null;
	 //创建excel的文档
	 public  void excelCreate(String fileName) throws Exception{
		 //创建文件,声明路径,输入流写入
		book = Workbook.createWorkbook(new File("d:/"+fileName+".xls"));
		//创建工作表对象,表明页数和名称
		sheet1 = book.createSheet("Sheet1", 0);
		//指明行高和宽度,这边直接用循环,吧需要设置的文档直接统一设置好高度。
		for(int i = 0;i<18;i++){
	         sheet1.setRowView(i,400);							//作用是指定第i+1行的高度,比如将第一行的高度设为200 
	         sheet1.setColumnView(i, 15);						//作用是指定第i+1列的宽度,比如将第一列的宽度设为30 
		 }
		//这边是重复设置一下,可能有特殊需求的列,要有特别的高度。
	   sheet1.setColumnView(1, 30);								//特殊列设置
	   sheet1.setColumnView(2, 30);
	   sheet1.setColumnView(3, 30);		
	   //cellFormat相当于就是一个单元格的格式。如果有统一的格式设置,就是创建一个同一个对象格式。
	   WritableCellFormat cellFormat = new testNothing().wcf();
	   //创建单元格,并按行列坐标进行指定的内容写入 ,最后加入显示的样式 ,就像下面表示的Label(行,列)
       Label[] label = new Label[9];					  		
       label[0] = new Label(0,0, "资源",cellFormat); 
       label[1] = new Label(1,0,"业务操作编码",cellFormat);
       label[2] = new Label(2,0,"业务操作名称",cellFormat);
       label[3]= new Label(3,0,"操作结果(1超时/0不超时)",cellFormat);
       label[4]= new Label(4,0,"片段",cellFormat);
       label[5] = new Label(5,0,"总数",cellFormat);
       label[6] = new Label(6,0,"超时次数",cellFormat);
       label[7] = new Label(7,0,"小时",cellFormat);
       label[8] = new Label(0,1,"这就是资源",cellFormat);
       //所有的操作记得都加进工作表才能把内容加进去。
       for(int i = 0;i<label.length;i++)		   //将行列的值写入页面   
       		sheet1.addCell(label[i]);
       //接下来这两部也是必须的。
       book.write();    		//开始执行写入操作
       book.close();			    //关闭流  
	}
	 
	//统一格式设定cellFormat
	public WritableCellFormat wcf() throws WriteException{
       WritableCellFormat cellFormat = new WritableCellFormat();				//设置单元格的样式
       cellFormat.setAlignment(jxl.format.Alignment.CENTRE);					//设置水平居中
       cellFormat.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);	//设置垂直居中
       cellFormat.setWrap(true);												//设置自动换行
       //设置显示的字体样式,字体,字号,是否粗体,字体颜色 
       cellFormat.setFont(new WritableFont(WritableFont.createFont("宋体"),11,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE));
       return cellFormat;        
	}
	
	public static void main(String[] args) throws Exception {
		new testNothing().excelCreate("showExcel");
	}
创建出的excel的文档就是如下:



里面备注,说明的已经差不多了。如果你建立的excel的名字一样的话,后建立的会把前面建立的文档直接盖掉,这点要注意一下。对于单元格的设置,如果有特别需要可以去自己去网上搜索更详细的格式设置的方法。

修改excel:

public void updateExcel(int temp,String fileName) throws Exception{			
			Label[] label = new Label[9];
			//这里通过创建Workbook对象获得之前创建的excel文档的对象
			Workbook wb = Workbook.getWorkbook(new File("d:/"+fileName+".xls"));   
			//修改要调用Workbook.createWorkbook的另一种方法,将之前获得的对象读入,表示修改excel-------------简单的理解就是这样
	       WritableWorkbook book =   
	               Workbook.createWorkbook(new File("d:/"+fileName+".xls"), wb);		//加载更新文件
	       //获得单元格的格式
	       WritableCellFormat cellFormat = wcf();
	           WritableSheet sheet = book.getSheet("Sheet1");   
	           label[0] = new Label(0,temp,"0",cellFormat);
	           label[1] = new Label(1,temp,"1",cellFormat);
	           label[2] = new Label(2,temp,"2",cellFormat);
	           label[3] = new Label(3,temp,"3",cellFormat);
	           label[4] = new Label(4,temp,"4",cellFormat);		
	           label[5] = new Label(5,temp,"111",cellFormat);
	           label[6] = new Label(6,temp,"222",cellFormat);
	           label[7] = new Label(7,temp+2,"tianjia",cellFormat);
	           label[8] = new Label(8,temp,"8888",cellFormat);						//创建更新文件的单元格
	           for(int j = 0;j<9;j++)
	           		sheet.addCell(label[j]);										//将更新资料更新到excel
	           book.write();   
	           book.close();   
		}
上面提供的是一个修改excel的方法,传入修改的行数和修改的文件名,即刻执行方法。

之后就打开修改的excel的文档,就可以看到修改的结果:


这就是通过Java进行excel操作的简单应用。更多深入的操作就要自己去探究了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值