W tym samouczku wyjaśniono, jak usunąć formułę, ale zachować dane w programie Excel w Javie przy użyciu prostego kodu. Dostarczy szczegółowych informacji na temat ładowania pliku Excel, a następnie przetwarzania go w celu usunięcia formuły, uzyskując dostęp do każdej komórki indywidualnie. Na koniec możesz zapisać ten plik bez zmian lub w innym formacie, np. plik XLSX na dysku.
Kroki, aby usunąć formułę, ale zachować dane w programie Excel w Javie
- Z repozytorium Maven dodaj odwołanie do biblioteki Aspose.Cells do swojego projektu
- Dodaj odwołanie do klas Workbook i Cell za pomocą funkcji Importuj w programie
- Załaduj skoroszyt, z którego formuła ma zostać usunięta
- Uzyskaj odwołanie do komórki w miejscu docelowym worksheet, w którym formuła ma zostać usunięta
- Korzystając z odwołania do komórki, zapisz istniejącą wartość w zmiennej tymczasowej
- Ustaw pustą formułę w komórce docelowej
- Ustaw wartość komórki ze zmiennej tymczasowej
- Zapisz plik wyjściowy bez formuły zawierającej tylko dane
Wykonując te czynności, możesz uzyskać dostęp do dowolnego arkusza docelowego pliku Excel, a następnie uzyskać odwołanie do żądanej komórki, której formuła ma zostać usunięta. Podczas tej operacji najpierw zapisujesz wartość w zmiennej tymczasowej, a następnie usuwasz formułę. Na koniec pierwotna wartość jest ponownie ustawiana w tej samej komórce.
Kod do usuwania formuły w programie Excel bez usuwania danych w Javie
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"); | |
} | |
} |
Powyższy przykładowy kod pokazuje, jak usunąć formułę, ale zachować dane w Excelu w Javie komórka po komórce. Jeśli jednak masz duży plik i chcesz usunąć wszystkie formuły z całego skoroszytu naraz, po prostu wywołaj metodę removeFormulas() w kolekcji Cells arkusza, jak pokazano w poniższym przykładowym kodzie.
Kod usuwający wszystkie formuły w Excelu bez usuwania danych w Javie
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"); | |
} | |
} |
Należy zauważyć, że do uruchomienia tego kodu nie jest wymagane żadne inne narzędzie ani oprogramowanie innej firmy, takie jak Interop lub MS Excel. Również jeśli chcesz zapisać plik wyjściowy w innym formacie, takim jak PDF, możesz zapoznać się z artykułem na jak wygenerować PDF z Excela w Javie.