4,328
社区成员
发帖
与我相关
我的任务
分享
package test;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class ExcelServlet extends HttpServlet {
private static final long serialVersionUID = 1407382389107180200L;
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doMainDispatch(req, resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doMainDispatch(req, resp);
}
protected void doMainDispatch(HttpServletRequest req,
HttpServletResponse resp) throws ServletException,
IOException {
String filename = "excel.xls";
resp.reset();
resp.setCharacterEncoding("UTF-8");
resp.setContentType("application/vnd.ms-excel");
resp.addHeader("Content-Disposition", "attachment; filename=\""
+ filename + "\"");
HSSFWorkbook wb = generateExcel();
wb.write(resp.getOutputStream());
resp.getOutputStream().flush();
}
private HSSFWorkbook generateExcel() {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Sheet1");
HSSFRow row = sheet.createRow(0);
HSSFCell cell=row.createCell((short)0);
cell.setCellValue(new HSSFRichTextString("Excel"));
return wb;
}
}
<servlet>
<servlet-name>Excel Servlet</servlet-name>
<servlet-class>test.ExcelServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Excel Servlet</servlet-name>
<url-pattern>/DownloadExcel</url-pattern>
</servlet-mapping>
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import flash.net.FileReference;
import flash.net.URLRequest;
private var fileReference:FileReference = null;
private function download():void
{
var request:URLRequest = new URLRequest(
"http://localhost:8080/xxx/DownloadExcel");
fileReference = new FileReference();
fileReference.download(request, "excel.xls");
}
]]>
</mx:Script>
<mx:Button label="Download" click="download()" />
</mx:Application>