Create Excel and convert it to PDF by free Java API
Published: 2019-12-30 06:13:20

---
title: Create Excel and convert it to PDF by free Java API
published: true
description: Java applications create excel and convert excel to PDF
tag: Java, Excel, excel to PDF, free .xlsx,
---

Introduction
I will introduce my whole solution in two parts. Firstly, I need to create Excel file on a server, and then convert this Excel file to pdf in Java applications.

Detailed steps for the first part: Create an Excel file using Spire.XLS for Java. Spire.XLS for Java is a feature rich API that supports creating, manipulating, converting and printing Excel files in Java applications.

```java
import com.spire.xls.*;
import java.awt.*;

public class CreateExcel {
    public static void main(String[] args) throws Exception {

            //Create a Workbook instance
            Workbook workbook = new Workbook();

            //Get the first worksheet
            Worksheet sheet = workbook.getWorksheets().get(0);
            //Set name for the first worksheet
            sheet.setName("Data Sheet");

            //Create a CellStyle for header cells
            CellStyle style1 = workbook.getStyles().addStyle("Header Style");
            style1.getFont().setSize(12f);
            style1.getFont().setColor(Color.BLACK);
            style1.getFont().isBold(true);
            style1.setHorizontalAlignment(HorizontalAlignType.Center);
            style1.setVerticalAlignment(VerticalAlignType.Center);

            //Create a CellStyle for data cells
            CellStyle style2 = workbook.getStyles().addStyle("Data Style");
            style2.getFont().setSize(10f);
            style2.getFont().setColor(Color.BLACK);

            //Add data and apply style for header cells
            for (int column=1; column<5; column++)
            {
                CellRange header =sheet.getCellRange(1,column);
                header.setValue("Column " + column );
                header.setStyle(style1);
                header.setColumnWidth(15f);
            }

            // Add data and apply style for data cells
            for (int row=2; row<11; row++)
            {
                for (int column=1; column<5; column++)
                {
                    CellRange cell = sheet.getCellRange(row, column);
                    cell.setValue("Data " + row + ", " + column);
                    cell.setStyle(style2);
                }
            }
            //Save the resultant file
            workbook.saveToFile("CreateExcel.xlsx", FileFormat.Version2013);
        }
    }
```
![Sample Excel](https://thepracticaldev.s3.amazonaws.com/i/ap8d7a9m3maxiotrzb82.png)
 
The second part shows using Spire.Xls to convert excel to PDF. It only need three lines of code to convert the Excel file to PDF in Java applications.

```java
import com.spire.xls.*;

public class ExceltoPDF {
    public static void main(String[] args) throws Exception {
        //Load the sample Excel file
        Workbook wb = new Workbook();
        wb.loadFromFile("CreateExcel.xlsx");

        //Save to PDF
        wb.saveToFile("ToPDF.pdf",FileFormat.PDF);
    }
}
```
Screenshot of the created pdf file:
![Excel to PDF](https://thepracticaldev.s3.amazonaws.com/i/teh5ia536o37wffy6352.png)

Besides convert the whole excel workbook to PDF, Spire.XLS for Java also supports to convert the special worksheet to PDF.

```java
import com.spire.xls.*;

public class ExceltoPDF {
    public static void main(String[] args) throws Exception {
        //Load the sample Excel file
        Workbook wb = new Workbook();
        wb.loadFromFile("CreateExcel.xlsx");

        //Get the second worksheet
        Worksheet sheet = wb.getWorksheets().get(1);

        //Save to PDF
        wb.saveToFile("ToPDF.pdf",FileFormat.PDF);
    }
}
```