jxl使用总结(四)

public  static void  writeExcel(String sheetName,ArrayList<ArrayList<String>> dim2value)
 {
				  
				   String fileName=null; 
					 //接受返回的手动输入的文件名
					  fileName=MouseDoubleClick.open();
				   try
					   {
					   // 打开文件
						WritableWorkbook book = Workbook.createWorkbook(new File(fileName));
						 // 生成名为“sheet1”的工作表,参数0表示这是第一页   
						WritableSheet sheet = book.createSheet(sheetName, 0);  
			                int rows = dim2value.size();
			               // int cols =dim2value.get(0).size();
			                
			                 if (dim2value == null || dim2value.size()== 0)
			                {
			                    //MessageBox.Show("您还没有生成统计信息,请生成!");
			                    throw new ExcelIOException("需要输出到Excel文件的参数为空,或其内容为空!");
			                }
			                
			                  //设置单元格 width(int col,int width)
			               sheet.setColumnView(0,9);
			                sheet.setColumnView(1,15);
			                sheet.setColumnView(2,7);
			                sheet.setColumnView(3,11);
			                sheet.setColumnView(4,11);
			                sheet.setColumnView(5,16);
			                sheet.setColumnView(6,14);
			                sheet.setColumnView(7,16);
			                sheet.setColumnView(8,14);
			                sheet.setColumnView(9,11);
			                sheet.setColumnView(10,17);
			                
			                //设置第一行格式
			                //字体格式 ARIAL体,10号,粗体
			                WritableFont wf = new WritableFont(WritableFont.ARIAL,10,WritableFont.BOLD);
			                    WritableCellFormat wcf = new WritableCellFormat(wf);
			                    //居中
			                    wcf.setAlignment(Alignment.CENTRE); 
			                    //边框
			                    wcf.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);
			                    
			                     
			                     //设置第二,三行格式 
			                      
				                WritableCellFormat wcfsed = new WritableCellFormat();
				                //背景色:灰色,对齐方式:居中
				                wcfsed.setBackground(Colour.GRAY_25);
				                wcfsed.setAlignment(Alignment.CENTRE); 
			                    
			               
			                
			                //设置Excel其它格式
			                WritableCellFormat wc = new WritableCellFormat(); 
			                // 设置居中 
			                wc.setAlignment(Alignment.CENTRE); 

			                if (dim2value != null)  //不做bull检查,会报错:nullpointerexception
			                {

			                    for (int k = 0; k <rows; k++)
			                    {
			                        ArrayList<String> line=dim2value.get(k);
			                        int cols=line.size();
			                        for (int j = 0; j <cols; j++)
			                        {
			                            String oneValue=line.get(j);
			                            //处理第一行,第四列
			                          if(k==0)
			                          {
			                        	  Label label3 = new Label(j,k,oneValue,wcf); 
						                    sheet.addCell(label3); 
			                          }
			                          else
			                          {
			                            
				                           if(oneValue!=null)
				                          {
					                           //数字处理
					                            if(WhatCellType.isNotZeroFirstNumeric(oneValue)==true)
					                            {	
					                            	int intValue=Integer.parseInt(oneValue); 
					                            	Number number = new Number(j, k,intValue,wc);
					                            	sheet.addCell(number);   	
					                            }
					                            else
					                            {
							                            if(k==1||k==2)  //第一,二行数据
							                            {
							                            	 Label labe12 = new Label(j, k, oneValue,wcfsed); 
								                            sheet.addCell(labe12);
							                            }	
							                            else
							                            	{
							                            		Label label = new Label(j, k, oneValue,wc); //其他数据
							                                    sheet.addCell(label);
							                            	}
					                            }//else
					                           
					                           }   //2if
					                          }//1else
					                        }//2for
				                    }//1for
			                    
			                }//1if   
						book.write();
						book.close();
					} catch (Exception e) {
						System.out.println(e);
					}
	} //完成与20111120

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值