Questo tutorial spiega come rimuovere la formula ma mantenere i dati in Excel in Java usando un codice semplice. Fornirà dettagli sul caricamento di un file Excel e quindi sull’elaborazione per rimuovere la formula accedendo a ciascuna cella individualmente. Alla fine, puoi salvare questo file così com’è o in un formato diverso come il file XLSX sul disco.
Passaggi per rimuovere la formula ma conservare i dati in Excel in Java
- Dal repository Maven, aggiungi un riferimento alla libreria Aspose.Cells al tuo progetto
- Aggiungi un riferimento alle classi Workbook e Cell utilizzando Importa nel programma
- Caricare la cartella di lavoro da cui rimuovere la formula
- Ottenere un riferimento alla cella nel foglio di lavoro di destinazione in cui rimuovere la formula
- Utilizzando il riferimento di cella, salvare il valore esistente in una variabile temporanea
- Imposta la formula vuota nella cella di destinazione
- Imposta il valore della cella dalla variabile temporanea
- Salva il file di output senza che la formula abbia solo dati
Utilizzando questi passaggi, puoi accedere a qualsiasi foglio di lavoro del file Excel di destinazione e quindi ottenere il riferimento alla cella desiderata la cui formula deve essere rimossa. Durante questa operazione prima si salva il valore in una variabile temporanea e poi si rimuove la formula. Infine, il valore originale viene reimpostato nella stessa cella.
Codice per eliminare la formula in Excel senza eliminare i dati in Java
import com.aspose.cells.Cell; | |
import com.aspose.cells.License; | |
import com.aspose.cells.Workbook; | |
public class HowToRemoveFormulaButKeepDataInExcelInJava { | |
public static void main(String[] args) throws Exception { //main function for HowToRemoveFormulaButKeepDataInExcelInJava | |
// Initialize a license to avoid trial version watermark in the output file after removing formulas | |
License license = new License(); | |
license.setLicense("Aspose.Cells.lic"); | |
// Load the Excel file from which formula is to be removed | |
Workbook excelWorkbookWithFormula = new Workbook("SampleExcelWithFormula.xlsx"); | |
// Get a reference of the cell where formula is to be removed | |
Cell cellWithFormula = excelWorkbookWithFormula.getWorksheets().get(0).getCells().get("C1"); | |
// Store the value in a temporary variable for later use | |
Object tempData = cellWithFormula.getValue(); | |
// Remove the formula by setting its value empty | |
cellWithFormula.setFormula(""); | |
// Save the value back from the temporary variable | |
cellWithFormula.setValue(tempData); | |
// Save the workbook with data without the formula | |
excelWorkbookWithFormula.save("WorkbookWithDataOnly.xlsx"); | |
} | |
} |
Il codice di esempio sopra mostra come rimuovere la formula ma mantenere i dati in Excel in Java cella per cella. Tuttavia, se si dispone di un file di grandi dimensioni e si desidera rimuovere tutte le formule dall’intera cartella di lavoro contemporaneamente, chiamare semplicemente removeFormulas() nell’insieme Cells del foglio di lavoro, come illustrato nel codice di esempio seguente.
Codice per rimuovere tutte le formule in Excel senza eliminare i dati in Java
import com.aspose.cells.License; | |
import com.aspose.cells.Workbook; | |
import com.aspose.cells.Worksheet; | |
public class HowToRemoveAllFormulasButKeepDataInExcelInJava { | |
public static void main(String[] args) throws Exception { //main function for HowToRemoveAllFormulasButKeepDataInExcelInJava | |
// Initialize a license to avoid trial version watermark in the output file after removing all formulas | |
License license = new License(); | |
license.setLicense("Aspose.Cells.lic"); | |
// Load the target workbook from which all formulas are to be removed | |
Workbook workbookWithFormula = new Workbook("WorkbookWithFormulas.xlsx"); | |
// Iterate through all the worksheets in the workbook to remove formulas | |
for(Object object : workbookWithFormula.getWorksheets()) | |
{ | |
Worksheet worksheet = (Worksheet)object; | |
worksheet.getCells().removeFormulas(); | |
} | |
// Save the resultant workbook having data only | |
workbookWithFormula.save("WorkbookWithoutFormulas.xlsx"); | |
} | |
} |
Va notato che nessun altro strumento o software di terze parti come Interop o MS Excel è richiesto per eseguire questo codice. Inoltre, se desideri salvare il file di output in un altro formato come PDF, puoi fare riferimento all’articolo su come generare PDF da Excel in Java.