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
jxl使用总结(四)
最新推荐文章于 2022-01-19 15:52:49 发布