Chcę utworzyć plik. Xls w Javie, ale nie chcę, żeby był przechowywany w dowolnym miejscu. Chcę tylko, żeby to zostało stworzone i jest prezentowane do pobrania.
Mam następujący kod, jednak po pobraniu pliku excel jest napisane, że plik jest nieprawidłowy.
private void criarFicheiroDeExemplo(RequestContext requestContext) throws IOException, InterruptedException {
requestContext.sResponse.setContentType("Excel.Application");
requestContext.sResponse.setHeader("Content-Disposition", "attachment; filename =Ficheiro_de_exemplo_incidencias.xls");
java.io.PrintWriter pw = requestContext.sResponse.getWriter();
String ficheiro = construirFormatoFicheiroDeExemplo();
pw.println(ficheiro);
pw.flush();
Thread.sleep(2000);
pw.close();
}
private String construirFormatoFicheiroDeExemplo() {
StringBuffer html = new StringBuffer();
html.append("<table>"); //"Cria" a tabela
html.append("<tr>");
html.append("<td>");
html.append("<Strong>ID_INCIDENCIA</Strong>");
html.append("</td>");
html.append("</tr>"); //"Cria" uma linha e uma coluna
html.append("</table>");
return html.toString();
}
Jakieś sugestie?
Odpowiedzi:
0 dla odpowiedzi № 1Zapisz plik na dysku i otwórz w edytorze tekstuaby sprawdzić, czy zawiera to, czego się spodziewasz. Jeśli tak, a program Excel nie będzie go otwierać, problem nie będzie związany z procesem pobierania. Problem polega na tym, co jest w pliku.
Jeśli nie chcesz się bawić z generowaniemDane binarne w formacie Excel i nie potrzebujesz formuł w arkuszu kalkulacyjnym, możesz zawsze otworzyć program w formacie TSV lub CSV (który jest zwykłym tekstem).