通过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操作的简单应用。更多深入的操作就要自己去探究了。