日期:2014-05-20 浏览次数:20948 次
public boolean exportExcel(ExportCustomerDto expDto)
throws Exception
{
boolean isSuccess = false;
//开始构造导出Excel文件名称
StringBuffer fileNameBuffer = new StringBuffer();
fileNameBuffer.append(CustomerConstants.EXPORT_CUS_FILENAME);
SimpleDateFormat fmtDate = new SimpleDateFormat("yyyyMMddHHmmss");
fileNameBuffer.append(fmtDate.format(new Date()));
fileNameBuffer.append((int) (10F * (new Random()).nextFloat()));
fileNameBuffer.append(".xls");
//构造导出Excel文件名称完成
HSSFWorkbook workbook = new HSSFWorkbook(); // 产生工作簿对象
HSSFSheet sheet = workbook.createSheet(); // 产生工作表对象
// 设置第一个工作表的名称为firstSheet
// 为了工作表能支持中文,设置字符编码为UTF_16
workbook.setSheetName(0, "客户批量导出", HSSFWorkbook.ENCODING_UTF_16);
// 产生一行
HSSFRow row = sheet.createRow((short) 0);
// 产生第一个单元格
String[] tableHead = {"姓名","电话","性别"................};
for (int i = 0; i < tableHead.length; i++)
{
HSSFCell cell = row.createCell((short) i);
// 设置单元格内容为字符串型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 为了能在单元格中写入中文,设置字符编码为UTF_16。
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
// 往第一个单元格中写入信息
cell.setCellValue(tableHead[i]);
}
List list = cusExportDao.cusExportList(expDto);//从数据库查的所有客户List
int rowcount = 0;
for (int j = 0; j < list.size(); j++)
{
ExportCustomerDto dto = (ExportCustomerDto) list.get(j);
rowcount = j + 1;
// 产生一行
HSSFRow row2 = sheet.createRow((short) rowcount);
for (int k = 0; k < tableHead.length; k++)
{
HSSFCell cell2 = row2.createCell((short) k);
// 设置单元格内容为字符串型
cell2.setCellType(HSSFCell.CELL_TYPE_STRING);
// 为了能在单元格中写入中文,设置字符编码为UTF_16。
cell2.setEncoding(HSSFCell.ENCODING_UTF_16);
// 往第一个单元格中写入信息
if (k == 0)
{
cell2.setCellValue(dto.getCustomerName());
}
if (k == 1)
{
cell2.setCellValue(dto.getStrCustomerType());
}
if (k == 2)
{
cell2.setCellValue(dto.getStrSex());
}
if (k == 3)
{
cell2.setCellValue(dto.getPersonCardId());
}
if (k == 4)
{
cell2.setCellValue(dto.getTelPhone());
}
if (k == 5)
{
cell2.setCellValue(dto.getCellPhone());
}
if (k == 6)
{
cell2.setCellValue(dto.getAddress());
}
if (k == 7)
{
cell2.setCellValue(dto.getMailCode());
}
if (k == 8)
{
cell2.setCellValue(dto.getEmail());
}
if (k == 9)
{
cell2.setCellValue(dto.getViteDate());
}
if (k == 10)
{
cell2.setCellValue(dto.getSaleGuid());
}
// ////这里要加入要写到EXCEL表格中去的值
}
}
String fullFileName = System.getProperty("java.io.tmpdir") + "\\" + fileNameBuffer.toString();
expDto.setFilepath(fullFileName);
System.out.println(expDto.getFilepath());
FileOutputStream fOut = new FileOutputStream(fullFileName);
workbook.write(fOut);
fOut.flush();
fOut.close();
isSuccess = true;
return isSuccess;
}