News Category

Java: Create, Read, or Update Excel Documents

2023-08-01 07:14:00 Written by  support iceblue
Rate this item
(0 votes)

The Excel spreadsheet is a popular file format that allows users to arrange, analyze, and display data in tables. The ability to programmatically interact with Excel files is valuable for automating and integrating its features into software. This is especially beneficial when dealing with extensive datasets, complex calculations, or dynamically generating/updating data. In this article, you will learn how to create, read, or update Excel document in Java using Spire.XLS for Java.

Install Spire.XLS for Java

First, you're required to add the Spire.Xls.jar file as a dependency in your Java program. The JAR file can be downloaded from this link. If you use Maven, you can easily import the JAR file in your application by adding the following code to your project's pom.xml file.

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>14.4.1</version>
    </dependency>
</dependencies>
    

Create an Excel Document in Java

Spire.XLS for Java offers a variety of classes and interfaces that you can use to create and edit Excel documents. Here is a list of important classes, properties and methods involved in this article.

Member Description
Workbook class Represents an Excel workbook model.
Workbook.getWorksheets().add() method Adds a worksheet to workbook.
Workbook.saveToFile() method Saves the workbook to an Excel document.
Worksheet class Represents a worksheet in a workbook.
Worksheet.getRange() method Gets a specific cell or cell range from worksheet.
Worksheet.insertArray() method Imports data from an array to worksheet.
CellRange class Represents a cell or cell range in worksheet.
CellRange.setValue() method Sets the value of a cell.
CellRange.getValue() method Gets the value of a cell.

The following are the steps to create an Excel document from scratch using Spire.XLS for Java.

  • Create a Workbook object.
  • Add a worksheet using Workbook.getWorksheets().add() method.
  • Write data to a specific cell using Worksheet.getRange.setValue() method.
  • Import data from an array to the worksheet using Worksheet.insertArray() method.
  • Save the workbook to an Excel document using Workbook.saveToFile() method.
  • Java
import com.spire.xls.*;

public class CreateSpreadsheet {

    public static void main(String[] args) {

        //Create a Workbook object
        Workbook wb = new Workbook();

        //Remove default worksheets
        wb.getWorksheets().clear();

        //Add a worksheet and name it "Employee"
        Worksheet sheet = wb.getWorksheets().add("Employee");

        //Merge the cells between A1 and G1
        sheet.getRange().get("A1:G1").merge();

        //Write data to A1 and apply formatting to it
        sheet.getRange().get("A1").setValue("Basic Information of Employees of Huanyu Automobile Company");
        sheet.getRange().get("A1").setHorizontalAlignment(HorizontalAlignType.Center);
        sheet.getRange().get("A1").setVerticalAlignment(VerticalAlignType.Center);
        sheet.getRange().get("A1").getStyle().getFont().isBold(true);
        sheet.getRange().get("A1").getStyle().getFont().setSize(13);

        //Set row height of the first row
        sheet.setRowHeight(1,30);

        //Create a two-dimensional array
        String[][] twoDimensionalArray = new String[][]{
                {"Name", "Gender", "Birth Date", "Educational Background", "Contact Number", "Position", "ID"},
                {"Allen", "Male", "1990-02-10", "Bachelor", "24756854", "Mechanic", "0021"},
                {"Patrick", "Male", "1985-06-08", "Master", "59863247", "Mechanic", "0022"},
                {"Jenna", "Female", "1989-11-25", "Bachelor", "79540352", "Sales", "0023"},
                {"Tommy", "Male", "1988-04-16", "Master", "52014060", "Mechanic", "0024"},
                {"Christina", "Female", "1998-01-21", "Bachelor", "35401489", "HR", "0025"}
        };

        //Import data from DataTable to worksheet
        sheet.insertArray(twoDimensionalArray,2,1);

        //Set row height of a range
        sheet.getRange().get("A2:G7").setRowHeight(15);

        //Set column width
        sheet.setColumnWidth(2,15);
        sheet.setColumnWidth(3,21);
        sheet.setColumnWidth(4,15);

        //Set border style of a range
        sheet.getRange().get("A2:G7").borderAround(LineStyleType.Medium);
        sheet.getRange().get("A2:G7").borderInside(LineStyleType.Thin);
        sheet.getRange().get("A2:G2").borderAround(LineStyleType.Medium);
        sheet.getRange().get("A2:G7").getBorders().setKnownColor(ExcelColors.Black);

        //Save to a .xlsx file
        wb.saveToFile("output/NewSpreadsheet.xlsx", FileFormat.Version2016);
    }
}

Java: Create, Read, or Update Excel Documents

Read Data of a Worksheet in Java

The CellRange.getValue() method returns number value or text value of a cell as a string. To get data of a whole worksheet or a cell range, loop through the cells within it. The following are the steps to get data of a worksheet using Spire.XLS for Java.

  • Create a Workbook object.
  • Load an Excel document using Workbook.loadFromFile() method.
  • Get a specific worksheet using Workbook.getWorksheets().get(index) method.
  • Get the cell range containing data using Worksheet.getAllocatedRange() method.
  • Iterate through the rows and columns to get cells within the range, and return the value of each cell using CellRange.getValue() method.
  • Java
import com.spire.xls.CellRange;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class ReadData {

    public static void main(String[] args) {

        //Create a Workbook object
        Workbook wb = new Workbook();

        //Load an existing Excel file
        wb.loadFromFile("C:/Users/Administrator/Desktop/NewSpreadsheet.xlsx");

        //Get the first worksheet
        Worksheet sheet = wb.getWorksheets().get(0);

        //Get the cell range containing data
        CellRange locatedRange = sheet.getAllocatedRange();

        //Iterate through the rows
        for (int i = 0; i < locatedRange.getRows().length; i++) {

            //Iterate through the columns
            for (int j = 0; j < locatedRange.getColumnCount(); j++) {

                //Get data of a specific cell
                System.out.print(locatedRange.get(i + 1, j + 1).getValue() + "  ");
            }
            System.out.println();
        }
    }
}

Java: Create, Read, or Update Excel Documents

Update an Excel Document in Java

To change the value of a certain cell, just re-assign a value to it using Worksheet.getRange().setValue() method. The following are the detailed steps.

  • Create a Workbook object.
  • Load an Excel document using Workbook.LoadFromFile() method.
  • Get a specific worksheet through Workbook.Worksheets[index] property.
  • Change the value of a particular cell though Worksheet.Range.Value property.
  • Save the workbook to an Excel file using Workbook.SaveToFile() method.
  • Java
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class UpdateExcel {

    public static void main(String[] args) {

        //Create a Workbook object
        Workbook wb = new Workbook();

        //Load an existing Excel file
        wb.loadFromFile("C:/Users/Administrator/Desktop/NewSpreadsheet.xlsx");

        //Get the first worksheet
        Worksheet sheet = wb.getWorksheets().get(0);

        //Change the value of a specific cell
        sheet.getRange().get("A1").setValue("Updated Value");

        //Save to file
        wb.saveToFile("output/Updated.xlsx", ExcelVersion.Version2016);
    }
}

Java: Create, Read, or Update Excel Documents

Apply for a Temporary License

If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.

Additional Info

  • tutorial_title:
Last modified on Tuesday, 01 August 2023 01:02