java 操作 Excel,java操作excel
java 操作 Excel,java操作excel
java 操作 Excel
生成Excel
一、准备jar包。Java操作 Excel 需要 jxl.jar 包。
二、定义生成的Excel文件名。
如: fileName = "员工信息_" + System.currentTimeMillis()+ ".xls";
三、定义一个数组存放excel文件的标题。
如:String[] title = { 序号,姓名,性别,年龄,账号,入职时间,};
四、准备好要显示的数据(来源于数据库)。
如:List<User> use;
五、通过存放的路径,判断下载的文件是否存在,存在就删除。(因为fileName 利用System.currentTimeMillis,所以是会重名的。)
File file = new File("要存放文件的路径。。。。。。");
if (file.exists()) {
file.delete();
}
六、利用Workbook创建Excel对象
FileInputStream fos = new FileOutputStream("要存放文件的路径。。。。。。");
wwb = Workbook.createWorkbook(fos);
七、给sheet命名。
//创建一个工作表, 生成名为"员工信息"的工作表,参数0表示这是第一页
如:WritableSheet ws = wwb.createSheet("员工信息", 0);
九、设置单元格的文字格式
WritableFont wf = new WritableFont(WritableFont.ARIAL, 10,WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE,Colour.BLACK);
WritableCellFormat wcf = new WritableCellFormat(wf);
wcf.setVerticalAlignment(VerticalAlignment.CENTRE);
wcf.setAlignment(Alignment.CENTRE);
wcf.setWrap(true);
八、 设置表头格式
WritableFont wftitile = new WritableFont(WritableFont.ARIAL, 16,WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,Colour.BLACK);
WritableCellFormat titlewcf = new WritableCellFormat(wftitile);
titlewcf.setVerticalAlignment(VerticalAlignment.CENTRE);
titlewcf.setAlignment(Alignment.CENTRE);
titlewcf.setWrap(true);
如果不需要设置第八、九步,可以省略
十、设置标题excel文件的标题。
for (int ii = 0; ii < title.length; ii++) {
// 列、行(0代表第一行)、单元格中的文本、文本格式
Label wlabel1 = new Label(ii, 0, title[ii], titlewcf);
// 设置Excel列宽
if (ii == 3 || ii == 7 || ii == 9 || ii == 11) {
ws.setColumnView(ii, 20);
} else if (ii == 5) {
ws.setColumnView(ii, 40);
} else {
ws.setColumnView(ii, 15);
}
ws.addCell(wlabel1);
}
十一、 写入数据到Excel
for (int i = 0; i < list.size(); i++) {
User user = new User();
user = useList.get(i);
//
ws.setRowView(i + 1, 400);
//
ws.addCell(new Label(0, (i + 1), String.valueOf( user.getOrder()), wcf));
ws.addCell(new Label(1, (i + 1), user.getName(), wcf));
ws.addCell(new Label(2, (i + 1), user.getSex(), wcf));
ws.addCell(new Label(3, (i + 1), user.getAge(), wcf));
ws.addCell(new Label(4, (i + 1), user.getAccountNumber(), wcf));
ws.addCell(new Label(5, (i + 1), user.getRuZhiTime(), wcf));
}
十二、关闭流
代码后续。。。
相关文章
- 暂无相关文章
用户点评