采用Java Excel API:http://www.andykhan.com/jexcelapi/
下载lib:http://www.andykhan.com/jexcelapi/download.html
已解决中文乱码问题。
<%
@page contentType
=
"
text/html; charset=gb2312
"
%>
<%
@page
import
=
"
javax.servlet.http.HttpServlet
"
%>
<%
@page
import
=
"
java.io.*
"
%>
<%
@page
import
=
"
java.util.Date
"
%>
<%
@page
import
=
"
java.text.SimpleDateFormat
"
%>
<%
@page
import
=
"
java.util.Locale
"
%>
<%
@page
import
=
"
jxl.*
"
%>
<%
@page
import
=
"
jxl.write.*
"
%>
<%
response.setHeader(
"
Pragma
"
,
"
no-cache
"
);
response.setDateHeader(
"
Expires
"
,
-
1
);

try
...
{
response.reset();
response.setContentType("application/vnd.ms-excel");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.SIMPLIFIED_CHINESE);
String filename = sdf.format(new Date()) + ".xls";
response.setHeader("Content-Disposition", "attachment;filename=" + filename);
WritableWorkbook w = Workbook.createWorkbook(response.getOutputStream());
WritableSheet s = w.createSheet("表单1", 0);
s.addCell(new Label(0, 0, "列1"));
s.addCell(new Label(1, 0, "列2"));
s.addCell(new Label(2, 0, "列3"));
int i = 0;

for (int j = 0; j < 3; j++) ...{
s.addCell(new Label(0, i + 1, "值1"));
s.addCell(new Label(1, i + 1, "值2"));
s.addCell(new Label(2, i + 1, "值3"));
i++;
}
w.write();
w.close();
}

catch
(Exception e)
...
{
throw new ServletException("Excel生成中出现异常", e);
}
%>