JAVA实现将数据库中的信息制作成Excel表格导出到本地指定目录下。
package com.yuanhe.export.util;
import java.io.FileOutputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import com.yuanhe.export.dao.impl.ExportTableDaoImpl;
import com.yuanhe.export.entity.Insurance;
/**
* 导出Excel表格工具类
* @author wangliping
*/
public class ExportExcel {
public static int exportExcel(List<Insurance> list){
ExportTableDaoImpl exportTableDaoImpl=new ExportTableDaoImpl();
//第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
//获取当前时间,用作excel表名称及工作表表名
Date date = new Date();
DateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
String dateStr = sdf.format(date);
String name="表格信息"+dateStr;
//第二步,在webbook中添加一个sheet工作表,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet(name);
//第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row = sheet.createRow(0);
//第四步,创建单元格,并设置值表头设置表头居中
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
HSSFCell cell = row.createCell(0);
//创建表头信息数组
String [] title = new String[]{"姓名","性别","身份证号","年龄","手机号","QQ号","微信号"};
//循环添加表头
for (int i = 0; i < title.length; i++) {
cell.setCellValue(title[i].toString());//赋值
cell.setCellStyle(style);//设置样式
cell = row.createCell(i+1);//添加位置
}
List<Insurance> FormList=list;
//第四步,创建单元格,并设置值
for (int i = 0; i < list.size(); i++) {
row = sheet.createRow(i+1);
row.createCell(0).setCellValue(FormList.get(i).getName());
row.createCell(1).setCellValue(FormList.get(i).getSex());
row.createCell(2).setCellValue(FormList.get(i).getuserID());
row.createCell(3).setCellValue(FormList.get(i).getAge());
row.createCell(4).setCellValue(FormList.get(i).getuserPhone());
row.createCell(5).setCellValue(FormList.get(i).getuserQQ());
row.createCell(6).setCellValue(FormList.get(i).getuserWeChat());
}
try{
// 第六步,将文件存到指定位置
FileOutputStream fot = new FileOutputStream("E:/"+name+".xls");
wb.write(fot);
fot.close();
result=1;
}catch (Exception e){
e.printStackTrace();
result=0;
}
return result;
}
}