import java.io.OutputStream;
import java.net.URLEncoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import com.ufgov.pub.bean.ParamBean;
import com.ufgov.pub.util.DateUtil;
public class Test {
public void getExcelTemplate(HttpServletResponse response, HttpServletRequest request, HttpSession session,
ParamBean paramBean) throws Exception {
HSSFWorkbook wb = new HSSFWorkbook();
try {
HSSFSheet sheet = wb.createSheet("数据模板");
HSSFCellStyle headStyle = wb.createCellStyle();
HSSFFont f = wb.createFont();
f.setFontHeightInPoints((short) 10);// 字号
headStyle.setFont(f);
String[] headCells = new String[] { "序号", "编码", "名称", "日期"};
HSSFRow row = sheet.createRow(0);
for (int i = 0; i < headCells.length; i++) {
HSSFCell cell = row.createCell(i);
cell.setCellStyle(headStyle);
cell.setCellValue(headCells[i]);
}
for (int i = 0; i < sheet.getLastRowNum() + 1; i++) {
sheet.autoSizeColumn((short) i);
}
response.reset();
String downLoadName = "数据模板" + "-" + paramBean.getAgencyCode() + "-" + paramBean.getAcctCode() + "-"
+ DateUtil.getCurDate().replaceAll("-", "") + ".xls";
response.setHeader("Content-Disposition",
"attachment; filename=" + URLEncoder.encode(downLoadName, "utf-8"));
response.setContentType("application/x-msdownload");
response.setHeader("Pragma", "No-cache");
OutputStream outputStream = response.getOutputStream();
wb.write(outputStream);
outputStream.flush();
outputStream.close();
wb.close();
} catch (Exception e) {
throw new Exception("创建模板文件失败!");
} finally {
wb.close();
}
}
}
该文章只提供大致思路,具体实现时可根据业务修改封装相关方法。