导入的包
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
方法体
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
List<SMSInfo> list = ss.findDownList();
String fileName = "SMSInforList.xls";//定义excel的名称
File file = new File(fileName);
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("短信数据");//创建sheet
sheet.setColumnWidth(0, 4000);//设置列宽
sheet.setColumnWidth(1, 30000);
sheet.setColumnWidth(2, 3000);
sheet.setColumnWidth(3, 5000);
HSSFRow row = sheet.createRow(0);//为sheet创建首行
row.createCell(0).setCellValue("手机号");
row.createCell(1).setCellValue("发送内容");
row.createCell(2).setCellValue("操作人");
row.createCell(3).setCellValue("发送时间");
try {
SMSInfo obj ;//生命实体
for (int j=0; j < list.size(); j++) {
HSSFRow rowcon = sheet.createRow(j + 1);//动态创建sheet行
obj=list.get(j);
rowcon.createCell(0).setCellValue(obj.getPhone());
rowcon.createCell(1).setCellValue(obj.getContent());
rowcon.createCell(2).setCellValue(obj.getOperator());
rowcon.createCell(3).setCellValue(format.format(obj.getSendTime()));
}
} catch (Exception e) {
e.printStackTrace();
}
try {
FileOutputStream out = new FileOutputStream(file);
workbook.write(out);
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedInputStream br = new BufferedInputStream(new FileInputStream(file));
response.reset();
response.addHeader("Content-Disposition", "attachment;filename=" + file.getName());
OutputStream out = response.getOutputStream();
byte[] buf = new byte[1024];
int len = 0;
while ((len = br.read(buf)) > 0) {
out.write(buf, 0, len);
}
br.close();
out.close();
} catch (Exception e) {
e.printStackTrace();
}