Skapa Excel-filer på Linux

Nuförtiden används kalkylblad i stor utsträckning för att behålla och dela en stor mängd tabelldata. Du kan också utföra olika operationer som att tillämpa formler, generera diagram och grafer, sortera och filtrera data och så vidare. Kalkylbladsautomatiseringen har inneburit en revolution i olika branscher. Det dynamiska skapandet och manipuleringen av kalkylbladen har gjort datahanteringen mycket lättare. För att kunna utföra kalkylarksmanipulation programmatiskt beskriver den här artikeln hur man skapar Excel XLSX- eller XLS-filer från grunden på Linux med Java.

API för att skapa Excel-filer på Linux - Gratis nedladdning

För att skapa och manipulera Excel-filerna kommer vi att använda Aspose.Cells for Java. Det är ett kraftfullt API för hantering av kalkylblad för att skapa, uppdatera eller konvertera Excel-filer. Du kan antingen ladda ner API:s JAR eller installera den i dina Maven-baserade applikationer med följande konfigurationer.

<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>21.9</version>
</dependency>

Skapa en Excel-fil på Linux

MS Excel-filer lagrar data i kalkylbladen som är sammansatta av flera celler. Medan dessa kalkylblad finns i en arbetsbok. Följande är stegen för att skapa en Excel XLSX-fil från början på Linux.

  • Skapa en instans av klassen Arbetsbok.
  • Få referens till det önskade kalkylbladet med metoden Workbook.getWorksheets.get().
  • Infoga värde i önskad cell i kalkylbladet med hjälp av cellens identifierare, såsom A1, B3, etc.
  • Spara arbetsboken med metoden Workbook.save().

Följande kodexempel visar hur man skapar en Excel XLSX-fil på Linux med Java.

// Skapa en ny arbetsbok
Workbook workbook = new Workbook();

// Lägg till värde i cellen
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World!");

// Spara som Excel XLSX-fil
workbook.save("Excel.xlsx"); 

Följande är resultatet av ovanstående kodexempel.

Skapa Excel-fil på Linux

Redigera en Excel XLSX-fil på Linux

Du kan också ändra befintliga Excel-filer sömlöst. För detta kan du helt enkelt ladda filen, komma åt önskat kalkylblad och uppdatera dess innehåll. Följande är stegen för att redigera en Excel XLSX-fil.

  • Ladda Excel-filen med klassen Arbetsbok.
  • Få referens till kalkylbladen och cellerna med klasserna Worksheet respektive Cell.
  • Uppdatera innehållet i cellerna.
  • Spara den uppdaterade arbetsboken med metoden Workbook.save().

Följande kodexempel visar hur man redigerar en Excel-fil på Linux.

// Skapa en ny arbetsbok
Workbook workbook = new Workbook("workbook.xls"); 

// Få referensen till "A1"-cellen från cellerna i ett kalkylblad
Cell cell = workbook.getWorksheets().get(0).getCells().get("A1");

// Ställ in "Hej världen!" värde i "A1"-cellen
cell.setValue("updated cell value.");

// Skriv Excel-filen
workbook.save("Excel.xls", FileFormatType.EXCEL_97_TO_2003);

Skapa diagram i Excel-filer på Linux

Diagram i kalkylblad används för att visuellt representera data som lagras i kalkylbladen. Aspose.Cells för Java tillhandahåller ett brett utbud av diagram som du kan generera i Excel-filerna. Följande är stegen för att skapa ett diagram i en Excel XLSX-fil på Linux-plattformen.

  • Skapa en ny Excel-fil eller ladda en befintlig med klassen Arbetsbok.
  • Lägg till data i kalkylbladet (valfritt).
  • Hämta diagramsamlingen för kalkylbladet med metoden Worksheet.getCharts().
  • Lägg till ett nytt diagram till samlingen med metoden Worksheet.getCharts().add().
  • Få referens till den nyskapade Chart från samlingen.
  • Ange cellernas intervall för att ställa in NSeries för diagrammet.
  • Slutligen, spara Excel-filen.

Följande kodexempel visar hur man skapar ett diagram i en Excel XLSX-fil.

// Skapa en ny arbetsbok
Workbook workbook = new Workbook("workbook.xlsx"); 

// Få referensen till det första arbetsbladet
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet sheet = worksheets.get(0);

// Lägger till ett exempelvärde till celler
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);

// få diagram i arbetsbladet
ChartCollection charts = sheet.getCharts();

// Lägga till ett diagram i arbetsbladet
int chartIndex = charts.add(ChartType.PYRAMID, 5, 0, 15, 5);
Chart chart = charts.get(chartIndex);

// Lägga till NSeries (diagramdatakälla) till diagrammet som sträcker sig från "A1"
// cell till "B3"
SeriesCollection serieses = chart.getNSeries();
serieses.add("A1:B3", true);

// Skriv Excel-filen 
workbook.save("Excel_with_Chart.xlsx");

Följande skärmdump visar utdata från ovanstående kodexempel.

skapa diagram i excel linux

Skapa en pivottabell i Excel-fil på Linux

Pivottabeller i Excel-kalkylblad har olika syften som att lägga till filter till data, beräkna totalsummor, sammanfatta data, etc. Pivottabeller kan skapas med hjälp av cellintervallet i kalkylbladet. Du kan skapa en pivottabell i en Excel-fil genom att följa stegen nedan.

  • Skapa en ny Excel-fil eller ladda en befintlig med klassen Arbetsbok.
  • Infoga data i kalkylbladet (valfritt).
  • Få åtkomst till pivottabellsamlingen med metoden Worksheet.getPivotTables().
  • Lägg till en ny pivottabell i kalkylbladet med metoden Worksheet.getPivotTables().add().
  • Ange data till pivottabellen.
  • Spara arbetsboken med metoden Workbook.save().

Följande kodexempel visar hur man skapar en pivottabell i Excel.

// Skapa en ny arbetsbok
Workbook workbook = new Workbook("workbook.xlsx"); 

// Skaffa det första arbetsbladet.
Worksheet sheet = workbook.getWorksheets().get(0);

// Skaffa arbetsbladets cellsamling
Cells cells = sheet.getCells();

// Ställer in värdet på cellerna
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();

// Lägga till en pivottabell i kalkylbladet
int index = pivotTables.add("=A1:C8", "E3", "PivotTable2");

// Åtkomst till instansen av den nyligen tillagda pivottabellen
PivotTable pivotTable = pivotTables.get(index);

// Avvisar totalsummor för rader.
pivotTable.setRowGrand(false);

// Dra det första fältet till radområdet.
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);

// Dra det andra fältet till kolumnområdet.
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1);

// Dra det tredje fältet till dataområdet.
pivotTable.addFieldToArea(PivotFieldType.DATA, 2);

// Skriv Excel-filen 
workbook.save("Excel_with_Chart.xlsx");

Följande är skärmdumpen av pivottabellen som genereras av ovanstående kodexempel.

skapa pivottabell i excel på linux

Lägg till formler för celler i Excel-filer

Aspose.Cells för Java stöder också arbete med formler i Excel-kalkylblad. Följande avsnitt beskriver hur du arbetar med inbyggda och tilläggsfunktioner.

Använd inbyggda funktioner i Excel

För inbyggda funktioner kan du helt enkelt få referens till önskad cell i kalkylbladet och lägga till en formel med metoden Cell.setFormula(String). Följande kodexempel visar hur man ställer in en inbyggd formel i Excel.

// Skapa en ny arbetsbok
Workbook workbook = new Workbook();

// Lägg till värde i cellen
workbook.getWorksheets().get(0).getCells().get(0).setFormula("=H7*(1+IF(P7 =$L$3,$M$3, (IF(P7=$L$4,$M$4,0))))");

// Spara som Excel XLSX-fil
workbook.save("Excel.xlsx"); 

Lägg till tilläggsfunktioner i Excel

Aspose.Cells för Java stöder också användardefinierade funktioner för Excel-kalkylbladen. För detta måste du registrera tilläggsfunktionen med en xlam(Excel makroaktiverat tillägg) fil. För att registrera tilläggsfunktionerna tillhandahåller API:et metoderna registerAddInFunction(int, String) och registerAddInFunction(String, String, boolean). Följande kodexempel visar hur man registrerar och använder en tilläggsfunktion i Excel.

// skapa en ny arbetsbok
Workbook workbook = new Workbook();

// Registrera makroaktiverat tillägg tillsammans med funktionsnamnet
int id = workbook.getWorksheets().registerAddInFunction("TESTUDF.xlam", "TEST_UDF", false);

// Registrera fler funktioner i filen (om några)
workbook.getWorksheets().registerAddInFunction(id, "TEST_UDF1"); //in this way you can add more functions that are in the same file

// Öppna första kalkylbladet
Worksheet worksheet = workbook.getWorksheets().get(0);

// Öppna första cellen
Cell cell = worksheet.getCells().get("A1");

// Ange formelnamn som finns i tillägget
cell.setFormula("=TEST_UDF()"); 

// Spara som Excel XLSX-fil
workbook.save("Excel.xlsx"); 

Skaffa en gratis licens

Du kan använda Aspose.Cells för Java utan utvärderingsbegränsningar med en tillfällig licens.

Slutsats

I den här artikeln har du lärt dig hur du skapar MS Excel-filer från början på Linux. Du har också sett hur du uppdaterar Excel-filerna, genererar diagram, skapar pivottabeller och lägger till formler i kalkylbladen. Du kan lära dig mer om Aspose.Cells för Java med hjälp av dokumentation. Om du skulle ha några frågor kan du fråga via vårt forum.

Se även