Ciao, ho una pagina jsp che genera un file excel, come posso qualificare alcune celle in formato testo?
Grazie a tutti Luca![]()
![]()
.
Ciao, ho una pagina jsp che genera un file excel, come posso qualificare alcune celle in formato testo?
Grazie a tutti Luca![]()
![]()
.
Il linguaggio va sempre specificato nel titolo.
Inoltre, per Java e JSP c'è l'apposito Sub-Forum
Ti sposto io lì.
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Come generi il file (quali librerie utilizzi). In Excel, basta anteporre un apice ad un qualsiasi dato che possa essere interpretato in maniera ambigua (tipicamente numerico) affinchè venga invece considerato in formato testo.
Es:
12345 -> Formato numerico
'12345 -> Formato testo (anche se poi nella cella si leggerà 12345)
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Ciao Andrea,
all'inizio del codice ho inserito :
<%@page language="java" contentType="application/vnd.ms-excel"%>
se poi eseguo
out.println("01");
la cella conterrà 1 a prescindere che metta o meno l'apicetto.
Puoi postare un po' più di codice?
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Premetto che prima di generare il file excel eseguo lo spool di una query sul file file_da_leggere.txt. All'interno del file i vari campi sono separati dalla tabulazione (\t).
<%@page language="java" %>
<%@page import="java.util.*,java.text.*,java.sql.*,java.la ng.*,java.net.*,java.io.*" %>
<%
String path = new String();
String recordLetto = new String();
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition","attachment; filename=" + "fileExcel.xls" );
//Definisco il file di lettura
path = getServletContext().getRealPath("file_da_leggere.t xt");
//Dichiaro il buffer di lettura
BufferedReader bufferIn = new BufferedReader(new FileReader(path));
//Ciclo per tutto il contenuto del file e lo scrivo nel formato excel
while((recordLetto = bufferIn.readLine()) != null ) {
//Scrivo il record nel formato excel
out.println(recordLetto);
}
//Chiudo il buffer di lettura
bufferIn.close();
%>
Grazie ciao.
eh... vabbhè, non è che stai creando un file xls davvero in questo modo... stai dicendo che vorresti che il contenuto testo che segue fosse interpretato dal browser come un file xls. Che succede se provi ad utilizzare librerie tipo jxl o poi che producono un "vero" file Excel?
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
...E' vero, però quando termina l'esecuzione della pagina jsp ti viene chiesto se vuoi visualizzare o salvare il file e nel caso in cui tu decida di salvare il file viene generato un vero e proprio file excel, pensavo quindi che ci fosse un modo per impostare le celle in formato testo.
Eventualmente se volessi provare a seguire il tuo consiglio utilizzando le librerie jxl avresti qualche esempio da farmi vedere?
Grazie ciao.
Per vedere se sono proprio la stessa cosa, potresti fare la semplice prova:
genera un xls online con il valore "ciao" in A1 e poi apri effettivamente Excel e crea un documento analogo. Poi con un editor esadecimanle (oppure il semplice notepad, anche se non ti mostrerà tutti i caratteri) apri ciascuno dei due file e controlli le differenze, se ce n'è.
Per jxl c'è un sito intero, con degli esempi basilari.
http://www.andykhan.com/jexcelapi/
se scorri in basso trovi i link per scaricare le api e degli esempi di codice
http://www.andykhan.com/jexcelapi/tutorial.html
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Grazie,
allora proverò a smanettarci un pò![]()
![]()