Как сделать файл Excel доступным для скачивания - PullRequest
3 голосов
/ 03 августа 2011

Я сгенерировал отчет Excel и хочу, чтобы пользователь загружал файл, как настроить свойства ответа (тип содержимого).

Ответы [ 3 ]

9 голосов
/ 03 августа 2011

Вам необходимо установить заголовки и тип содержимого следующим образом:

    response.setHeader "Content-disposition", "attachment;filename=myExcel.xls"
    response.contentType = "application/vnd.ms-excel"

Затем выполнить потоковую передачу содержимого в ответе.

Редактировать: Если вам нужно установить длину содержимого:

    response.contentLength = 100

Длина содержимого задокументирована в javadoc

2 голосов
/ 03 августа 2011
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "Attachment;Filename=\"MyFile.xls\"");
0 голосов
/ 04 ноября 2017

Вы должны добавить jxl jar

и

Попробуйте этот код:

@WebServlet("/Reportexel")
public class Reportexel extends HttpServlet
{
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        try
        {
            response.setHeader("Content-disposition", "attachment; filename=kbdemo.xls");
            response.setContentType("application/vnd.ms-excel");
            WritableWorkbook workbook = Workbook.createWorkbook(response.getOutputStream());    
            WritableSheet worksheet = workbook.createSheet("Sheet 1",0);

            Label lbl = new Label(1,1,"Hello");
            Label lbl1 = new Label(1,2,"Hi...");

            worksheet.addCell(lbl);
            worksheet.addCell(lbl1);

            workbook.write();
            workbook.close();
        }
        catch(Exception e)
        {
            System.err.println("Main Error : "+e);
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...