1、准备jar包 poi-3.0-alpha3-20061212.jar
2、jsp
<%@ page contentType="text/html; charset=GBK"%>
<%@ page language="java" import="java.util.*"%>
<%@ page import="com.tax.web.session.*"%>
<%@ page import="com.tax.web.service.djpd.*"%>
<%@ page import="com.tax.web.constant.*"%>
<%@ page import="java.text.*"%>
<%@ page import="org.apache.poi.hssf.usermodel.HSSFWorkbook,
org.apache.poi.hssf.usermodel.HSSFSheet,
org.apache.poi.hssf.usermodel.HSSFRow,
org.apache.poi.hssf.usermodel.HSSFCell,
java.text.DecimalFormat"%>
<html>
<%
response.setHeader("cache-control","public");
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragrma","no-cache");
response.setDateHeader("Expires",0);
response.reset();
response.setContentType("application/msexcel");
SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd ");
String date = formate.format(new Date());
String fileName="评定审核数据"+date.toString().substring(0,10).replace("-","");
response.setHeader("Content-disposition","inline; filename="+new String((fileName).getBytes("gbk"),"iso8859-1")+".xls");//定义文件名
String cp = request.getContextPath();
DjpdService djpd = new DjpdService();
String nsrglm = request.getParameter("nsrglm");//纳税人管理码
String nsrmc = request.getParameter("nsrmc");//纳税人管理码
String pdndb_id = request.getParameter("pdndb_id");
String swjgdm = request.getParameter("swjgdm");
String pdjg = request.getParameter("pdjg");//扣分等级代码:10 A级 ;20 B级 ; 30 C级 ; 40 D级
String lcztdm = request.getParameter("lcztdm");
List ls = new ArrayList();
ls=djpd.cssjQuery(nsrglm,nsrmc,pdndb_id,pdjg,swjgdm,lcztdm);
if(ls!=null){
for (int i=0;i<ls.size();i++){
Object[] objvo=(Object[])ls.get(i);
if("0".equals(objvo[objvo.length-1])){
objvo[objvo.length-1]="按照实际得分情况进行评定";
}
if("1".equals(objvo[objvo.length-1])){
objvo[objvo.length-1]="直接给定级别";
}
if("2".equals(objvo[objvo.length-1])){
objvo[objvo.length-1]="人工特殊调整评定级别";
}
if("3".equals(objvo[objvo.length-1])){
objvo[objvo.length-1]="统自动调整AB级";
}
}
}
DecimalFormat f = new DecimalFormat("#,##0.00");
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("sheet1");
//以下以写表头
//表头为第一行
HSSFRow row = sheet.createRow((short) 0);
//定义列
String[] row_top_valueArr=new String[]{"序号","纳税人管理码","纳税人名称","税收管理员代码","专管员","税务机关代码","所属机关名称","评定状态","评定结果","总得分","说明"};
int rowLength=row_top_valueArr.length;
HSSFCell[] cellArr = new HSSFCell[rowLength];
for(int i =0;i<cellArr.length;i++){
cellArr[i]=row.createCell((short) i);
cellArr[i].setEncoding((short) 1);
cellArr[i].setCellType(1);
}
//定义表头的内容
for(int i =0;i<cellArr.length;i++){
cellArr[i].setCellValue(row_top_valueArr[i]);
}
if(ls!=null){
for (int i=0;i<ls.size();i++){
Object[] objvo=(Object[])ls.get(i);
row = sheet.createRow((short) i+1);
for(int j =0;j<cellArr.length;j++){
cellArr[j]=row.createCell((short) j);
cellArr[j]=row.createCell((short) j);
cellArr[j].setEncoding((short) 1);
cellArr[j].setCellType(1);
if(j==0){
cellArr[0].setCellValue(i+1);
}else{
cellArr[j].setCellValue(objvo[j].toString());
}
}
}
}
wb.write(response.getOutputStream());
response.getOutputStream().flush();
response.getOutputStream().close();
out.clear();
out = pageContext.pushBody();
%>
<head>
<title></title>
</head>
<BODY class="bodyMain">
<form>
<table>
<tr>
<td>
"数据导出成功!
</td>
</tr>
</table>
</form>
</BODY>