использование spring-mvc AbstractExcelView с уже созданным документом - PullRequest
2 голосов
/ 17 февраля 2010

Я пытаюсь использовать AbstractExcelView для обслуживания документа XLS, который я создаю на сервере. Есть ли способ, которым я могу использовать это с уже созданной книгой? Я попробовал следующее, но это не работает:

import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.web.servlet.view.document.AbstractExcelView;


public class ValidationErrorsView  extends AbstractExcelView {

@SuppressWarnings("unchecked")
@Override
protected void buildExcelDocument(Map arg0, HSSFWorkbook workbook,     
 HttpServletRequest arg2, HttpServletResponse arg3) 
    throws Exception {

    final String toprocess = "myfile.xls";
    final InputStream is = new FileInputStream(toprocess);
    workbook = new HSSFWorkbook (is);
    }

}

Ответы [ 2 ]

4 голосов
/ 17 февраля 2010

Вам не нужно AbstractExcelView для обслуживания существующего документа.

  • Если документ находится в общих папках вашего веб-приложения, пользователи могут загрузить его в виде статического файла.
  • Если он меньше WEB-INF, вы можете переслать запрос на него, используя request.getRequestDispatcher(fileName).forward(request, response).
  • Если это произвольный файл, вы должны открыть файл и скопировать его содержимое в response.getOutputStream()

Однако, не забудьте установить правильный тип контента: response.setContentType("application/vnd.ms-excel");

3 голосов
/ 28 апреля 2012
public class ValidationErrorsView extends AbstractExcelView {

    public ValidationErrorsView() {
        super();
        setUrl("/WEB-INF/templates/1.1");
    }

    @Override
    protected void buildExcelDocument(Map model, HSSFWorkbook workbook,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

    }
}

"1.1" - это имя существующего файла Excel.

рабочая книга - создана из файла 1.1.xls.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...