MS Excel zapewnia łatwy sposób przechowywania i udostępniania dużej ilości danych tabelarycznych. Ponadto możesz wykonywać różne operacje, takie jak stosowanie formuł, generowanie wykresów i wykresów, sortowanie i filtrowanie danych i tak dalej. W tym artykule dowiesz się, jak zaimplementować funkcje automatyzacji programu Excel z poziomu aplikacji Java. Pokażemy, jak tworzyć pliki Excel XLSX lub XLS od podstaw w Javie. Ponadto omówimy, jak zaktualizować istniejący plik programu Excel, generować wykresy, stosować formuły i dodawać tabele przestawne w arkuszach programu Excel.

Interfejs API języka Java do tworzenia plików programu Excel — bezpłatne pobieranie

Aspose.Cells for Java to potężny interfejs API do manipulacji arkuszami kalkulacyjnymi, który umożliwia tworzenie lub modyfikowanie plików programu Excel bez pakietu MS Office. Interfejs API obsługuje programowe dodawanie wykresów, wykresów, formuł i wykonywanie innych operacji związanych z manipulacją arkuszami kalkulacyjnymi. Możesz pobrać API za darmo lub zainstalować je w swoich aplikacjach opartych na Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>20.9</version>
</dependency>

Utwórz Excel XLSX lub XLS w Javie

Pliki MS Excel są nazywane skoroszytami, a każdy skoroszyt składa się z jednego lub więcej arkuszy. Arkusze robocze zawierają ponadto wiersze i kolumny do przechowywania danych w postaci komórek. Zacznijmy więc od stworzenia prostego skoroszytu. Poniżej przedstawiono kroki tworzenia od podstaw pliku Excel XLSX.

  • Utwórz instancję klasy Workbook.
  • Uzyskaj dostęp do żądanego arkusza za pomocą metody Workbook.getWorksheets.get().
  • Umieść wartość w żądanej komórce w arkuszu, używając identyfikatora komórki, takiego jak A1, B3 itd.
  • Zapisz skoroszyt jako plik programu Excel przy użyciu metody Workbook.save().

Poniższy przykładowy kod pokazuje, jak utworzyć plik Excel XLSX przy użyciu języka Java.

// Utwórz nowy skoroszyt
Workbook workbook = new Workbook();

// Dodaj wartość w komórce
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World!");

// Zapisz jako plik Excel XLSX
workbook.save("Excel.xlsx"); 

Edytuj plik Excel XLSX w Javie

Przyjrzyjmy się teraz, jak zmodyfikować lub wstawić dane do istniejącego pliku MS Excel. W tym celu możesz po prostu załadować plik, uzyskać dostęp do żądanego arkusza roboczego i zapisać zaktualizowany plik. Poniżej przedstawiono kroki, aby zmodyfikować istniejący plik programu Excel.

  • Otwórz plik Excela, używając klasy Workbook.
  • Uzyskaj dostęp do arkuszy i komórek, używając odpowiednio klas Worksheet i Cell.
  • Zapisz zaktualizowany skoroszyt jako plik Excel .xlsx.

Poniższy przykładowy kod pokazuje, jak edytować istniejący plik MS Excel przy użyciu języka Java.

// Utwórz nowy skoroszyt
Workbook workbook = new Workbook("workbook.xls"); 

// Pobierz odwołanie do komórki „A1” z komórek arkusza
Cell cell = workbook.getWorksheets().get(0).getCells().get("A1");

// Ustaw „Witaj świecie!” wartość do komórki „A1”.
cell.setValue("updated cell value.");

// Napisz plik Excela
workbook.save("Excel.xls", FileFormatType.EXCEL_97_TO_2003);

Java Twórz pliki programu Excel z wykresami lub wykresami

Wykresy w arkuszach kalkulacyjnych służą do wizualnego przedstawiania danych przechowywanych w arkuszach. Ułatwiają one dość łatwą analizę dużej ilości danych. Aspose.Cells for Java zapewnia szeroką gamę wykresów, które można programowo tworzyć w plikach Excel. Poniżej przedstawiono kroki tworzenia pliku Excel z wykresem w Javie.

  • Utwórz nowy plik programu Excel lub załaduj istniejący, używając klasy Workbook.
  • Dodaj dane do arkusza (opcjonalnie).
  • Pobierz kolekcję wykresów arkusza za pomocą metody Worksheet.getCharts().
  • Dodaj nowy wykres za pomocą metody Worksheet.getCharts().add().
  • Pobierz nowo utworzony wykres z kolekcji.
  • Określ zakres komórek, aby ustawić serie NS dla wykresu.
  • Zapisz skoroszyt jako plik Excel .xlsx.

Poniższy przykładowy kod pokazuje, jak utworzyć plik Excel XLSX z wykresem w Javie.

// Utwórz nowy skoroszyt
Workbook workbook = new Workbook("workbook.xlsx"); 

// Uzyskanie odniesienia do pierwszego arkusza
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet sheet = worksheets.get(0);

// Dodawanie przykładowej wartości do komórek
Cells cells = sheet.getCells();
Cell cell = cells.get("A1");
cell.setValue(50);
cell = cells.get("A2");
cell.setValue(100);
cell = cells.get("A3");
cell.setValue(150);
cell = cells.get("B1");
cell.setValue(4);
cell = cells.get("B2");
cell.setValue(20);
cell = cells.get("B3");
cell.setValue(50);

// pobierz wykresy w arkuszu
ChartCollection charts = sheet.getCharts();

// Dodanie wykresu do arkusza
int chartIndex = charts.add(ChartType.PYRAMID, 5, 0, 15, 5);
Chart chart = charts.get(chartIndex);

// Dodanie NSeries (źródło danych wykresu) do wykresu w zakresie od „A1”
// komórka do „B3”
SeriesCollection serieses = chart.getNSeries();
serieses.add("A1:B3", true);

// Napisz plik Excela 
workbook.save("Excel_with_Chart.xlsx");
utwórz wykres w programie Excel za pomocą java

Java Utwórz plik XLSX z tabelą przestawną

Tabele przestawne w arkuszach programu Excel mają różne cele, takie jak dodawanie filtrów do danych, obliczanie sum, podsumowywanie danych itp. Tabele przestawne można tworzyć przy użyciu zakresu komórek w arkuszu. Poniżej przedstawiono kroki tworzenia tabeli przestawnej w pliku programu Excel w Javie.

  • Utwórz nowy skoroszyt lub załaduj istniejący plik.
  • Wstaw dane do arkusza (opcjonalnie).
  • Uzyskaj dostęp do zbioru tabel przestawnych za pomocą metody Worksheet.getPivotTables().
  • Dodaj nową tabelę przestawną w arkuszu za pomocą metody Worksheet.getPivotTables().add().
  • Podaj dane do tabeli przestawnej.
  • Zapisz skoroszyt.

Poniższy przykładowy kod pokazuje, jak utworzyć tabelę przestawną w programie Excel w Javie.

// Utwórz nowy skoroszyt
Workbook workbook = new Workbook("workbook.xlsx"); 

// Pobierz pierwszą kartę pracy.
Worksheet sheet = workbook.getWorksheets().get(0);

// Uzyskanie kolekcji komórek arkusza kalkulacyjnego
Cells cells = sheet.getCells();

// Ustawienie wartości dla komórek
Cell cell = cells.get("A1");
cell.setValue("Sport");
cell = cells.get("B1");
cell.setValue("Quarter");
cell = cells.get("C1");
cell.setValue("Sales");

cell = cells.get("A2");
cell.setValue("Golf");
cell = cells.get("A3");
cell.setValue("Golf");
cell = cells.get("A4");
cell.setValue("Tennis");
cell = cells.get("A5");
cell.setValue("Tennis");
cell = cells.get("A6");
cell.setValue("Tennis");
cell = cells.get("A7");
cell.setValue("Tennis");
cell = cells.get("A8");
cell.setValue("Golf");

cell = cells.get("B2");
cell.setValue("Qtr3");
cell = cells.get("B3");
cell.setValue("Qtr4");
cell = cells.get("B4");
cell.setValue("Qtr3");
cell = cells.get("B5");
cell.setValue("Qtr4");
cell = cells.get("B6");
cell.setValue("Qtr3");
cell = cells.get("B7");
cell.setValue("Qtr4");
cell = cells.get("B8");
cell.setValue("Qtr3");

cell = cells.get("C2");
cell.setValue(1500);
cell = cells.get("C3");
cell.setValue(2000);
cell = cells.get("C4");
cell.setValue(600);
cell = cells.get("C5");
cell.setValue(1500);
cell = cells.get("C6");
cell.setValue(4070);
cell = cells.get("C7");
cell.setValue(5000);
cell = cells.get("C8");
cell.setValue(6430);


PivotTableCollection pivotTables = sheet.getPivotTables();

// Dodanie tabeli przestawnej do arkusza
int index = pivotTables.add("=A1:C8", "E3", "PivotTable2");

// Dostęp do instancji nowo dodanej tabeli przestawnej
PivotTable pivotTable = pivotTables.get(index);

// Nie wyświetlam sum całkowitych dla wierszy.
pivotTable.setRowGrand(false);

// Przeciągnięcie pierwszego pola do obszaru wiersza.
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);

// Przeciągnięcie drugiego pola do obszaru kolumny.
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1);

// Przeciągnięcie trzeciego pola do obszaru danych.
pivotTable.addFieldToArea(PivotFieldType.DATA, 2);

// Napisz plik Excela 
workbook.save("Excel_with_Chart.xlsx");
utwórz tabelę przestawną w programie Excel za pomocą java

Dodaj formuły dla komórek w pliku Excel w Javie

Aspose.Cells for Java umożliwia również pracę z formułami w arkuszach programu Excel. Do komórek można zastosować zarówno wbudowane, jak i dodatkowe funkcje.

Zastosuj wbudowane funkcje w programie Excel

Aby skorzystać z wbudowanych funkcji, możesz po prostu uzyskać dostęp do żądanej komórki w arkuszu i dodać formułę za pomocą metody Cell.setFormula(String). Poniższy przykładowy kod pokazuje, jak ustawić wbudowaną formułę przy użyciu języka Java.

// Utwórz nowy skoroszyt
Workbook workbook = new Workbook();

// Dodaj wartość w komórce
workbook.getWorksheets().get(0).getCells().get(0).setFormula("=H7*(1+IF(P7 =$L$3,$M$3, (IF(P7=$L$4,$M$4,0))))");

// Zapisz jako plik Excel XLSX
workbook.save("Excel.xlsx"); 

Dodaj funkcje dodatku w programie Excel

Może się zdarzyć, że będziesz musiał użyć funkcji zdefiniowanej przez użytkownika. W tym celu musisz zarejestrować funkcję dodatku za pomocą pliku .xlam (dodatek programu Excel z obsługą makr), a następnie użyć go dla żądanych komórek. Do rejestracji funkcji dodatku Aspose.Cells for Java zapewnia metody registerAddInFunction(int, String) i registerAddInFunction(String, String, boolean). Poniższy przykładowy kod pokazuje, jak zarejestrować i używać funkcji dodatku przy użyciu języka Java.

// utworzyć nowy skoroszyt
Workbook workbook = new Workbook();

// Zarejestruj dodatek obsługujący makra wraz z nazwą funkcji
int id = workbook.getWorksheets().registerAddInFunction("TESTUDF.xlam", "TEST_UDF", false);

// Zarejestruj więcej funkcji w pliku (jeśli istnieją)
workbook.getWorksheets().registerAddInFunction(id, "TEST_UDF1"); //in this way you can add more functions that are in the same file

// Uzyskaj dostęp do pierwszego arkusza roboczego
Worksheet worksheet = workbook.getWorksheets().get(0);

// Uzyskaj dostęp do pierwszej komórki
Cell cell = worksheet.getCells().get("A1");

// Ustaw nazwę formuły obecną w dodatku
cell.setFormula("=TEST_UDF()"); 

// Zapisz jako plik Excel XLSX
workbook.save("Excel.xlsx"); 

Java API do tworzenia plików Excel XLS XLSX — Uzyskaj bezpłatną licencję

Możesz korzystać z API bez ograniczeń ewaluacyjnych, uzyskując darmową licencję tymczasową.

Wniosek

W tym artykule widziałeś, jak tworzyć pliki MS Excel od podstaw przy użyciu Javy bez MS Office. Nauczyłeś się również aktualizować skoroszyty, tworzyć wykresy, dodawać tabele i stosować formuły do wartości komórek w arkuszach programu MS Excel. Możesz dowiedzieć się więcej o API Java Excel firmy Aspose korzystając z documentation.

Zobacz też

Pliki programu Excel do formatu PDF przy użyciu języka JavaJSON do Excela w JavieWord do JSON w C#
Word do JSON w PythonDOC do JSON w C#Plik Excela do formatu JSON w Python
XLSX do JSON w języku C#XLS do JSON w C#XLSX do JSON w Javie
Excel do formatu JSON w JavieDOCX do JSON w JavieDOC do JSON w Javie
Word do JSON w JavieTXT do JSON w JavieJSON do PDF w Python
Excel do formatu JSON w JavieTXT do JSON w PythonKonwertuj pliki programu Excel na Arkusze Google w języku C# .NET
Konwertuj Excel na JSON w JavieKonwertuj Excel XLS/XLSX na CSV w JavieKonwertuj pliki Excel XLS na XLSX w Python
Wysyłanie danych programu Excel w treści wiadomości e-mail przy użyciu języka C# .NETEksportuj dane Excela do Arkuszy Google w PythonKonwertuj pliki Excela na Arkusze Google w Javie