最近在做报表的功能,因为对这个功能并不熟悉,只要先在网上查询相应的资料,然后自己写了几个小例子,在这里要使用一个jxl.jar的包。
一、生成一个名为"test.xls"的Excel文件:
public class CreateExcel {
public static void main(String args[]) {
try {
// 打开文件
WritableWorkbook book = Workbook.createWorkbook(new File("E:/Excel/test.xls"));
// 生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet = book.createSheet("第一页", 0);
sheet.setRowView(0,600);
/*
* 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
* 以及单元格内容为test
*/
Label label = new Label(0, 0, "test");
sheet.addCell(label);
/*
* 生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义 单元格位置是第二列,第一行,值为789.123
*/
Number number = new Number(1, 0, 555.12541);
sheet.addCell(number);
/*
* 生成一个Boolean类型的单元格
*/
Boolean bool=new Boolean(2,0,true);
sheet.addCell(bool);
/*
* 生成一个Date类型的单元格
*/
DateTime dt=new DateTime(3,0,new Date());
sheet.addCell(dt);
/*
* 生成有一定格式的cell
*/
WritableFont font1=new WritableFont(WritableFont.TIMES,8,WritableFont.BOLD);
WritableCellFormat format1=new WritableCellFormat(font1);
format1.setAlignment(jxl.format.Alignment.CENTRE);
format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
Label label2=new Label(4,0,"123",format1);
sheet.addCell(label2);
// 写入数据并关闭文件
book.write();
book.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
二、读取对应的Excel的内容:
public class ReadAllExcel {
public static void main(String[] args) throws Exception{
Workbook book = Workbook.getWorkbook(new File("E:/Excel/test.xls"));
// 获得第一个工作表对象
Sheet sheet = book.getSheet(0);
// 得到第一列第一行的单元格
int columnum = sheet.getColumns();// 得到列数
int rownum = sheet.getRows();// 得到行数
for (int i = 0; i < rownum; i++)// 循环进行读写
{
for (int j = 0; j < columnum; j++) {
Cell cell1 = sheet.getCell(j, i);
String result = cell1.getContents();
System.out.print(result);
System.out.print("\t");
}
System.out.println();
}
book.close();
}
}
三、更改对应的Excel的内容:
public class UpdateExcel {
public static void main(String args[]) {
try {
// Excel获得文件
Workbook wb = Workbook.getWorkbook(new File("E:/Excel/test.xls"));
// 打开一个文件的副本,并且指定数据写回到原文件
WritableWorkbook book = Workbook.createWorkbook(new File("E:/Excel/test.xls"),
wb);
// 添加一个工作表
WritableSheet sheet = book.createSheet("第二页", 1);
sheet.mergeCells(0,0,5,0);
sheet.addCell(new Label(0, 0, "第二页的测试数据"));
book.write();
book.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
这些只是一些简单的基础例子,如果想对做出一些有一定效果的Excel可以参考下面的文档: