Jak usunąć formułę, ale zachować dane w programie Excel w Javie

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

  1. Z repozytorium Maven dodaj odwołanie do biblioteki Aspose.Cells do swojego projektu
  2. Dodaj odwołanie do klas Workbook i Cell za pomocą funkcji Importuj w programie
  3. Załaduj skoroszyt, z którego formuła ma zostać usunięta
  4. Uzyskaj odwołanie do komórki w miejscu docelowym worksheet, w którym formuła ma zostać usunięta
  5. Korzystając z odwołania do komórki, zapisz istniejącą wartość w zmiennej tymczasowej
  6. Ustaw pustą formułę w komórce docelowej
  7. Ustaw wartość komórki ze zmiennej tymczasowej
  8. 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.

 Polski