In deze zelfstudie wordt uitgelegd hoe u formules verwijdert, maar gegevens in Excel in Java bewaart met behulp van eenvoudige code. Het geeft details over het laden van een Excel-bestand en het vervolgens verwerken om de formule te verwijderen door elke cel afzonderlijk te openen. Uiteindelijk kunt u dit bestand opslaan zoals het is of in een ander formaat zoals XLSX op de schijf.
Stappen om formule te verwijderen maar gegevens in Excel in Java te behouden
- Voeg vanuit de Maven-repository een verwijzing naar de Aspose.Cells-bibliotheek toe aan uw project
- Voeg een verwijzing toe naar Workbook en Cell klassen door Importeren in het programma te gebruiken
- Laad de werkmap waaruit de formule moet worden verwijderd
- Een verwijzing krijgen naar de cel in het doelwerkblad waar de formule moet worden verwijderd
- Gebruik de celverwijzing om de bestaande waarde op te slaan in een tijdelijke variabele
- Stel de formule leeg in de doelcel
- Stel celwaarde van de tijdelijke variabele in
- Sla het uitvoerbestand op zonder formule met alleen gegevens
Met behulp van deze stappen hebt u toegang tot elk werkblad van het Excel-doelbestand en krijgt u vervolgens de verwijzing naar de gewenste cel waarvan de formule moet worden verwijderd. Tijdens deze bewerking slaat u eerst de waarde op in een tijdelijke variabele en verwijdert u vervolgens de formule. Ten slotte wordt de oorspronkelijke waarde opnieuw ingesteld in dezelfde cel.
Code om formule in Excel te verwijderen zonder gegevens in Java te verwijderen
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"); | |
} | |
} |
De bovenstaande voorbeeldcode laat zien hoe u de formule verwijdert, maar de gegevens cel voor cel in Excel in Java bewaart. Als u echter een groot bestand hebt en alle formules in één keer uit de hele werkmap wilt verwijderen, roept u de removeFormulas() in de Cells-verzameling van het werkblad aan, zoals wordt aangetoond in de volgende voorbeeldcode.
Code om alle formules in Excel te verwijderen zonder gegevens in Java te verwijderen
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"); | |
} | |
} |
Opgemerkt moet worden dat er geen andere tool of software van derden zoals Interop of MS Excel nodig is om deze code uit te voeren. Ook als u het uitvoerbestand in een ander formaat zoals PDF wilt opslaan, kunt u het artikel op hoe PDF te genereren vanuit Excel in Java raadplegen.