2 Stimmen

Verwendung von spring-mvc AbstractExcelView mit einem bereits erstellten Dokument

Ich versuche, AbstractExcelView zu verwenden, um ein XLS-Dokument, das ich auf einem Server erstellen zu dienen. Gibt es eine Möglichkeit, dies mit einer bereits erstellten Arbeitsmappe zu verwenden? Ich habe das Folgende versucht, aber es funktioniert nicht:

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);
    }

}

4voto

axtavt Punkte 233070

Sie brauchen keine AbstractExcelView um ein vorhandenes Dokument zuzustellen.

  • Wenn sich das Dokument in den öffentlichen Ordnern Ihrer Webanwendung befindet, können die Benutzer es als statische Datei herunterladen.
  • Wenn es unter WEB-INF können Sie eine Anfrage an ihn weiterleiten, indem Sie request.getRequestDispatcher(fileName).forward(request, response) .
  • Wenn es sich um eine beliebige Datei handelt, sollten Sie die Datei öffnen und ihren Inhalt in response.getOutputStream()

Vergessen Sie jedoch nicht, den richtigen Inhaltstyp einzustellen: response.setContentType("application/vnd.ms-excel");

3voto

Sher Punkte 116
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" ist der Name einer bestehenden Excel-Datei.

Arbeitsmappe - erstellt aus der Datei 1.1.xls.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X