Salve a tutti ho un problemino:
ho bisogno di leggere un file excel e trasformare ogni riga in una stringa, qualcuno ha qualche idea?
Salve a tutti ho un problemino:
ho bisogno di leggere un file excel e trasformare ogni riga in una stringa, qualcuno ha qualche idea?
Sì, usare il pulsante di ricerca.
http://forum.html.it/forum/search.ph...by=&sortorder=
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
eh... ma peccato che l abbia fatto, ma non abbia trovato nulla che mi fosse d aiuto in quanto in tutti i thread ottenuti come risultato per la maggior parte viene spiegato come scrivere SU un file excel, mentre a me servere LEGGERE da un excel e trasformare ogni riga in una stringa di caratteri (o come alternativa sapere come distinguere le varie celle l una dall altra). Se vi è possibile vi chiedo gentilmente di non rimandarmi ad altri link perchè sono a lavoro e qui abbiamo accesso solo a determinati siti.
Esempio se io in un file xls ho:
_____________________________
|ciao|sono|ciccio|124785|a1b2c3|
_____________________________
vorrei ottenere la stringa:
ciaosonociccio124785a1b2c3
Ora io ho improvvissato questo codice:
ma purtroppo ottengo stringhe di caratteri totalmente incomprensibiliString path = new String();
String pathWrite = new String();
String recordLetto = new String();
path = "C:\\Documents and Settings\\Documenti\\documentazione\\propostaMigr. xls";
pathWrite = "C:\\Documents and Settings\\Documenti\\prova.txt";
BufferedReader fileqr = new BufferedReader(new FileReader(path));
BufferedWriter fileWr= new BufferedWriter(new FileWriter(pathWrite));
while((recordLetto = fileqr.readLine()) != null )
{
fileWr.write(recordLetto);
}
fileqr.close();
allora hai cercato male![]()
http://forum.html.it/forum/showthrea...ighlight=Excel
se segui il thread, in un mio intervento punto ad un sito con le jxl api per manipolare file Excel, leggere, scrivere e creare. Su quel sito trovi diversi esempi.
Una nota a parte: come ca$$0 fate a lavorare in un posto dove vi chiedono di programmare e non avete accesso pieno ad internet? Ai vostri capi piace proprio che voi buttiate via tempo (e quindi denaro) a reinventare la ruota ogni volta che non riuscite a raggiungere il sito con la soluzione già pronta... masochismo all'italiana.
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Che dirti: hai ragione, ma purtroppo sono un mero dipendente che non ha nessuna voce in capitolo. Cmq perdomani ma purtroppo come ti ho gia detto il sito che hai linkato la per jexcel è uno di tanti siti a cui non posso accedere, quindi non mi resta che sperare in una risposta scritta tramite post :SOriginariamente inviato da Andrea1979
allora hai cercato male![]()
http://forum.html.it/forum/showthrea...ighlight=Excel
se segui il thread, in un mio intervento punto ad un sito con le jxl api per manipolare file Excel, leggere, scrivere e creare. Su quel sito trovi diversi esempi.
Una nota a parte: come ca$$0 fate a lavorare in un posto dove vi chiedono di programmare e non avete accesso pieno ad internet? Ai vostri capi piace proprio che voi buttiate via tempo (e quindi denaro) a reinventare la ruota ogni volta che non riuscite a raggiungere il sito con la soluzione già pronta... masochismo all'italiana.
se mi dai una mezz'ora vedo che posso fare. Poi l'api te la scarichi tu. Devo consegnare una cosa, poi ti scrivo un pezzo di codice.
EDIT
Apre un file excel, lo legge per riga e colonna: se trova una cella vuota salta alla riga successiva e si ferma se la prima cella di una riga è vuota. Il tutto viene messo, riga a riga, in un file di testo.codice:import jxl.*; import java.io.*; public class ReadToText { public static void main (String[] args) throws Exception { String buff = ""; //apro il file Workbook workbook = Workbook.getWorkbook(new File("C:/Documents and Settings/Andrea/Desktop/demofile.xls")); //prendo il primo foglio Sheet sheet = workbook.getSheet(0); boolean flag1 = true; boolean flag2 = true; int riga = 0; Cell currentCell; while (flag1) { //leggo per righe int cella = 0; while (flag2) { //leggo le celle currentCell = sheet.getCell(cella, riga); flag2 = currentCell.getContents()== "" ? false : true; buff += currentCell.getContents(); cella++; } buff += "\n"; cella = 0; riga++; flag2 = true; currentCell = sheet.getCell(cella, riga); flag1 = currentCell.getContents() == "" ? false : true; } BufferedWriter br = new BufferedWriter(new FileWriter("C:/Documents and Settings/Andrea/Desktop/EXCEL.TXT")); br.write(buff); br.flush(); br.close(); } }
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
ok grazie milleOriginariamente inviato da Andrea1979
se mi dai una mezz'ora vedo che posso fare. Poi l'api te la scarichi tu. Devo consegnare una cosa, poi ti scrivo un pezzo di codice.
EDIT
Apre un file excel, lo legge per riga e colonna: se trova una cella vuota salta alla riga successiva e si ferma se la prima cella di una riga è vuota. Il tutto viene messo, riga a riga, in un file di testo.codice:import jxl.*; import java.io.*; public class ReadToText { public static void main (String[] args) throws Exception { String buff = ""; //apro il file Workbook workbook = Workbook.getWorkbook(new File("C:/Documents and Settings/Andrea/Desktop/demofile.xls")); //prendo il primo foglio Sheet sheet = workbook.getSheet(0); boolean flag1 = true; boolean flag2 = true; int riga = 0; Cell currentCell; while (flag1) { //leggo per righe int cella = 0; while (flag2) { //leggo le celle currentCell = sheet.getCell(cella, riga); flag2 = currentCell.getContents()== "" ? false : true; buff += currentCell.getContents(); cella++; } buff += "\n"; cella = 0; riga++; flag2 = true; currentCell = sheet.getCell(cella, riga); flag1 = currentCell.getContents() == "" ? false : true; } BufferedWriter br = new BufferedWriter(new FileWriter("C:/Documents and Settings/Andrea/Desktop/EXCEL.TXT")); br.write(buff); br.flush(); br.close(); } }
Originariamente inviato da Andrea1979
se mi dai una mezz'ora vedo che posso fare. Poi l'api te la scarichi tu. Devo consegnare una cosa, poi ti scrivo un pezzo di codice.
EDIT
Apre un file excel, lo legge per riga e colonna: se trova una cella vuota salta alla riga successiva e si ferma se la prima cella di una riga è vuota. Il tutto viene messo, riga a riga, in un file di testo.codice:import jxl.*; import java.io.*; public class ReadToText { public static void main (String[] args) throws Exception { String buff = ""; //apro il file Workbook workbook = Workbook.getWorkbook(new File("C:/Documents and Settings/Andrea/Desktop/demofile.xls")); //prendo il primo foglio Sheet sheet = workbook.getSheet(0); boolean flag1 = true; boolean flag2 = true; int riga = 0; Cell currentCell; while (flag1) { //leggo per righe int cella = 0; while (flag2) { //leggo le celle currentCell = sheet.getCell(cella, riga); flag2 = currentCell.getContents()== "" ? false : true; buff += currentCell.getContents(); cella++; } buff += "\n"; cella = 0; riga++; flag2 = true; currentCell = sheet.getCell(cella, riga); flag1 = currentCell.getContents() == "" ? false : true; } BufferedWriter br = new BufferedWriter(new FileWriter("C:/Documents and Settings/Andrea/Desktop/EXCEL.TXT")); br.write(buff); br.flush(); br.close(); } }
Salve a tutti ho un problema con questo codice che mi genera un eccezione precisamente:
cioè mi legge la prima riga del file.xls che è di 5 colonne e poi esce....lo so perchè ho messo una stampa a video nel mezzo dei due cicli while....codice:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at jxl.read.biff.SheetImpl.getCell(SheetImpl.java:354)
il compilatore mi segna errore su questa riga:
se qualcuno può darmi qualche chiarimento in proposito gliene sarei grato...anche perchè il codice mi sembra corretto e non capisco perchè generi l'eccezione.codice:while (flag2) { //leggo le celle currentCell = sheet.getCell(cella, riga);![]()
Ho provato il codice postato sopra che dovrebbe leggere un xls e trascriverlo su di un txt ma mi genera questa eccezione:
Exception in thread "main" jxl.read.biff.BiffException: Unable to recognize OLE stream
at jxl.read.biff.CompoundFile.<init>(CompoundFile.jav a:116)
at jxl.read.biff.File.<init>(File.java:127)
at jxl.Workbook.getWorkbook(Workbook.java:221)
at jxl.Workbook.getWorkbook(Workbook.java:198)
at readtotext.ReadToText.main(ReadToText.java:18)
qualcuno sa come mai?
Naturalmente il path l'ho cambiato :-)