导出表格其实不难,在这里我提供一个工具类给大家。
只需注意两点
1.调用的时候传入一个集合,集合里是要生成表格的数据
2.设置表头的时候根据自己需要设置。
public class ExcelUtil {
/*
生成Excel表格并导出
*/
public static void excel(List<Log> logs) {
//Log是一个实体类,对应生成表格中的内容
//导出路径
String url = "D:\\card\\java\\weChat\\target\\lonbon\\card.xls";
try {
//创建HSSFWorkbook对象
HSSFWorkbook wb = new HSSFWorkbook();
//创建HSSFSheet对象
HSSFSheet sheet = wb.createSheet("打卡日志");
//创建HSSFRow对象
HSSFRow row = sheet.createRow(0);
//设置表头
row.createCell(0).setCellValue("日期");
row.createCell(1).setCellValue("姓名");
row.createCell(2).setCellValue("上班时间");
row.createCell(3).setCellValue("下班时间");
row = sheet.createRow(sheet.getLastRowNum() + 1);
//循环遍历集合,生成表格
for(Log log : logs) {
row.createCell(0).setCellValue(log.getDate());
row.createCell(1).setCellValue(log.getName());
row.createCell(2).setCellValue(log.getToWorkTime());
row.createCell(3).setCellValue(log.getOffWorkTime());
row = sheet.createRow(row.getRowNum() + 1);
}
//输出Excel文件
FileOutputStream output = new FileOutputStream(url);
output.flush();
wb.write(output);
} catch (Exception e) {
e.printStackTrace();
}
}
}
这里有一点需要提示大家。我的项目是建立 IDEA中,里面配置了tomcat服务器。文件导出的地方是在项目的缓存中D:\card\java\weChat\target\lonbon\card.xls。
是因为远程访问本地服务器是直接进入项目的target目录下
文件的具体位置
下载的话,直接访问服务器中的文件即可下载,如
http://192.168.2.224:8080/lonbon/card.xls”
192.168.2.244是服务器的地址
8080是服务器的端口号
有问题的话,请大家评论指出。谢谢