Non riesco a modificare il foglio excel esistente utilizzando jxl. Ne crea sempre uno nuovo. Qualcuno può aiutarmi, per favore. Si prega di fornire un piccolo codice di esempio.Modifica excel esistente utilizzando jxl
risposta
jxl è progettato per una maggiore efficienza di lettura (poiché questo è l'uso principale dell'API). Per migliorare le prestazioni, i dati relativi alle informazioni di output (ad esempio tutte le informazioni di formattazione come i caratteri) non vengono interpretati quando viene letto il foglio di calcolo, poiché questo è superfluo quando si interrogano i valori dei dati non elaborati.
Tuttavia, se è necessario modificare questo foglio di calcolo, è necessario un handle per le varie interfacce di scrittura, che può essere ottenuto utilizzando il metodo di copia.
Workbook workbook = Workbook.getWorkbook(new File("myfile.xls"));
WritableWorkbook copy = Workbook.createWorkbook(new File("temp.xls"), workbook);
Questa copia le informazioni che è già stato letto in così come eseguire l'elaborazione aggiuntiva per interpretare i campi che sono necessari per per la scrittura di fogli di calcolo. Lo svantaggio di questa strategia ottimizzata per la lettura è che abbiamo due fogli di calcolo tenuti in memoria piuttosto che uno solo, raddoppiando così i requisiti di memoria.
Ma dopo, puoi fare quello che vuoi. Come:
WritableSheet sheet2 = copy.getSheet(1);
WritableCell cell = sheet2.getWritableCell(1, 2);
if (cell.getType() == CellType.LABEL)
{
Label l = (Label) cell;
l.setString("modified cell");
}
copy.write();
copy.close();
workbook.close();
Nota: questa viene prelevata direttamente dalle Andy Khan's tutorial page.
So che questa è una domanda piuttosto vecchia, ma se qualcuno incontrasse lo stesso problema, quindi per conservare la formattazione corretta (tipo di carattere, colorazione, ecc.) dovresti salvare il formato della cella prima di lanciarlo su Etichetta e quindi forza la cella alla formattazione precedente. Codice:
CellFormat cfm = cell.getCellFormat();
Label l = (Label) cell;
l.setString("modified cell");
cell.setCellFormat(cfm);
//there is god example of it, you can copy in ur project and check it out, to
//understand how it works
Workbook wk = Workbook.getWorkbook(new File("ex.xls"));
//
WritableWorkbook wkr = Workbook.createWorkbook(new File("modifed.xls"), wk);
/* second line makes copy of wk excel file object /creates a readable spreadsheet.
both are now similar and i can Modify exiting wkr spreadsheets */
//next 2 line retrieve sheet number 0 and cell (1,1)
WritableSheet getsht = wkr.getSheet(0);
WritableCell getcl = getsht.getWritableCell(1, 1);
//making own font
WritableFont ft = new WritableFont(WritableFont.ARIAL, 20 , WritableFont.BOLD, true , UnderlineStyle.SINGLE);
//making Format, which uses font
WritableCellFormat form = new WritableCellFormat(ft);
Number nb = (Number) getcl ;
nb.setCellFormat(form);
wkr.write();
wkr.close();
Anche se a volte è ok rispondere a una domanda solo con il codice, ma il più delle volte il post è migliorato aggiungendo una spiegazione. Puoi modificare la tua risposta per includerne una. –
- 1. Aggiunta di dati a un file Excel utilizzando jxl
- 2. JXL e Timezone che scrivono un Excel
- 3. Inserire l'immagine nel file excel usando JXL senza allungarlo
- 4. Formattazione cella JXL
- 5. Automazione Excel: apre il file Excel esistente come "nuovo"
- 6. Modifica dell'origine dati per la riproduzione audio utilizzando MediaPlayer esistente?
- 7. Modifica oggetto esistente con nuovi dati JSON parziali utilizzando Json.NET
- 8. Excel: modifica più formule contemporaneamente?
- 9. Come si modifica un foglio esistente in una cartella di lavoro di Excel utilizzando il pacchetto Openxlsx in R?
- 10. scrittura ad un Excel file esistente
- 11. Formati data di modifica Excel
- 12. JXL risolve il problema #VALORE
- 13. confronto di prestazioni tra JXL e POI per Excel generazioni di file
- 14. JXL e Apache Analisi dei POI excel con oggetti immagine collegati
- 15. Come creare un foglio Excel con allineamento da destra a sinistra usando JXL
- 16. Lettura di Excel con JXL, numero di celle per riga che cambia tra le righe
- 17. Dimensione di modifica immagine Excel di PHP
- 18. Aggiungi l'estensione "Modifica in Excel" o "Modifica foto"
- 19. Aggiornamento file Excel esistente in PDI Java Apache
- 20. Stampa di Excel utilizzando Interop
- 21. lettura Excel spreasheet utilizzando EPPlus
- 22. Modifica del file di risorse esistente a livello di codice
- 23. Ridimensionamento dei commenti in Excel utilizzando ShapeRange
- 24. Modifica dinamicamente l'etichetta del pulsante del nastro Excel
- 25. Crea file Excel in Java
- 26. Microsoft Excel Macro per eseguire il programma Java
- 27. Aggiornamento regola firewall esistente utilizzando l'API
- 28. Modificare file PDF esistente utilizzando FPDF
- 29. Aggiungi elemento SVG SVG esistente utilizzando DOM
- 30. Crea CSR utilizzando la chiave privata esistente
Hi @Lalli sto usando la tua risposta, ma non sta funzionando sto errore di salire su questa linea 'WritableWorkbook copia = Workbook.createWorkbook (new File ("temp.xls"), cartella di lavoro) ' ERRORE è' java.io.FileNotFoundException: temp.xls: open non riuscito: EROFS (sistema di file di sola lettura) ' –