Servlet 利用Jxl导出Excel

package com.excel.web;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
public class ExcelController extends HttpServlet
{
    private static final long serialVersionUID = 3256767193156026532L;
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException
    {
        request.setCharacterEncoding("UTF-8");
        // 禁止数据缓存。
        response.setHeader("Pragma", "no-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setDateHeader("Expires", 0);
        response.setContentType("application/vnd.ms-excel;charset=UTF-8");
        response.addHeader("Content-Disposition",
                "attachment;filename=kkkk.xls");
        try
        {
            WritableWorkbook book = Workbook.createWorkbook(response
                    .getOutputStream());
            WritableSheet sheet = book.createSheet("Sheet_1", 0);
            Label label = new Label(0, 0, "test");
            sheet.addCell(label);
            jxl.write.Number number = new jxl.write.Number(1, 0, 789.123);
            sheet.addCell(number);
            book.write();
            book.close();
        } catch (RowsExceededException e)
        {
            e.printStackTrace();
        } catch (WriteException e)
        {
            e.printStackTrace();
        }
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException
    {
        this.doGet(request, response);
    }
}

你可能感兴趣的:(Java)