Spire.XLS for Java (130)
Children categories
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>16.3.2</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.
- Get a specific cell using Worksheet.getRange().get() method.
- Write data to the cell using CellRange.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);
}
}

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();
}
}
}

This part covers the basics of reading Excel files using Java. For more advanced techniques, see How to Read Excel Files in Java.
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);
}
}

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.
Worksheets are essential components of spreadsheets, primarily used for storing and managing data. In daily work, we often need to perform certain operations on worksheets in Excel. For instance, we may need to add new worksheets to an existing Excel file to append related contents to the file or divide existing data into different types or labels, which is conducive to organizing and managing the spreadsheet well. Likewise, we can also delete unnecessary or invalid worksheets to save storage space and make the file clearer. Adding or removing worksheets programmatically can avoid the inconvenience of manual operations and allow for efficient handling of large workbooks in a short time. This article introduces how to add or remove worksheets in Excel using Spire.XLS for Java.
Install Spire.XLS for Java
First of all, 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>16.3.2</version>
</dependency>
</dependencies>
Add a Worksheet to an Existing Workbook in Java
Spire.XLS for Java provides Workbook.getWorksheets().add() method to add new worksheets to an existing workbook. The following are the detailed steps for this operation.
- Specify input and output paths.
- Create a Workbook object.
- Load a sample Excel file using Workbook.loadFromFile() method.
- Add a new worksheet named "AddNewSheet" to the Excel file using Workbook.getWorksheets().add() method.
- Call Worksheet.getCellRange().setText() method to write text to the specific cell of the new sheet.
- Save the result file using Workbook.saveToFile() method.
- Java
import com.spire.xls.*;
public class AddWorksheet {
public static void main(String[] args) throws Exception {
//Specify input and output paths
String inputFile = "sample.xlsx";
String outputFile = "output/AddWorksheet.xlsx";
//Create a workbook and load a file
Workbook workbook = new Workbook();
//Load a sample Excel file
workbook.loadFromFile(inputFile);
//Add a new worksheet named “AddNewSheet”
Worksheet sheet = workbook.getWorksheets().add("AddNewSheet");
//Write text to the cell C5 of the new worksheet
sheet.getCellRange("C5").setText("This is a new sheet.");
//Save the Excel file
workbook.saveToFile(outputFile, ExcelVersion.Version2010);
workbook.dispose();
}
}

Remove a Worksheet from the Workbook in Java
Removing unnecessary worksheets from an Excel file can reduce the file size. Spire.XLS for Java provides Worksheet.remove() method to remove worksheets from an existing workbook. The following are the detailed steps.
- Specify input and output paths.
- Create a Workbook object.
- Load a sample Excel file using Workbook.loadFromFile() method.
- Get the second worksheet of this file using Workbook.getWorksheets().get() method.
- Remove it from the file using Worksheet.remove() method.
- Save the result file using Workbook.saveToFile() method.
- Java
import com.spire.xls.*;
public class RemoveWorksheet {
public static void main(String[] args) throws Exception {
//Specify input and output paths
String inputFile = "sample.xlsx";
String outputFile = "output/RemoveWorksheet.xlsx";
//Create a workbook
Workbook workbook = new Workbook();
//Load a sample Excel file
workbook.loadFromFile(inputFile);
//Get the second worksheet and remove it
Worksheet sheet1 = workbook.getWorksheets().get(1);
sheet1.remove();
//Save the Excel file
workbook.saveToFile(outputFile, ExcelVersion.Version2010);
workbook.dispose();
}
}

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.
Sometimes, you may find that a well-formatted and organized sheet looks messy on a printed page. This is because Excel worksheets are designed for comfortable viewing and editing on screen, not to fit on a sheet of paper. To get perfect hard copies of your Excel documents, you'll need to configure the print settings. In this article, you will learn how to set Excel print options and how to send Excel documents to a specified printer in Java using Spire.XLS for Java.
- Set Excel Print Options via Page Setup in Java
- Specify Printer Settings when Printing Excel Documents in Java
Install Spire.XLS for Java
First of all, 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>16.3.2</version>
</dependency>
</dependencies>
Set Excel Print Options via Page Setup in Java
Excel Page Setup provides options to control how a worksheet will be printed, such as whether to print comments, whether to print gridlines and whether to fit worksheet on one page.
Spire.XLS offers the PageSetup object to deal with all these things. The following are the steps to set Excel print options through PageSetup using Spire.XLS for Java.
- Create a Workbook object.
- Load an Excel file using Workbook.loadFromFile() method.
- Get a specific worksheet using Workbook.getWorksheets().get() method.
- Get PageSetup object using Worksheet.getPageSetup() method.
- Set page margins, print area, pint title row, print quality, etc. using the methods under PageSetup object.
- Print the workbook by using PrinterJob class.
- Java
import com.spire.xls.*;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
public class SetPrintOptions {
public static void main(String[] args) {
//Create a workbook
Workbook workbook = new Workbook();
//Load an Excel document
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.xlsx");
//Get the first worksheet
Worksheet worksheet = workbook.getWorksheets().get(0);
//Get the PageSetup object of the first worksheet
PageSetup pageSetup = worksheet.getPageSetup();
//Set page margins
pageSetup.setTopMargin(0.3);
pageSetup.setBottomMargin(0.3);
pageSetup.setLeftMargin(0.3);
pageSetup.setRightMargin(0.3);
//Specify print area
pageSetup.setPrintArea("A1:D10");
//Specify title row
pageSetup.setPrintTitleRows("$1:$2");
//Allow to print with row/column headings
pageSetup.isPrintHeadings(true);
//Allow to print with gridlines
pageSetup.isPrintGridlines(true);
//Allow to print comments as displayed on worksheet
pageSetup.setPrintComments(PrintCommentType.InPlace);
//Set printing quality (dpi)
pageSetup.setPrintQuality(300);
//Allow to print worksheet in black & white mode
pageSetup.setBlackAndWhite(true);
//Set the printing order
pageSetup.setOrder(OrderType.OverThenDown);
//Fit worksheet on one page
pageSetup.isFitToPage(true);
//Create a PrinterJob object
PrinterJob printerJob = PrinterJob.getPrinterJob();
PageFormat pageFormat = printerJob.defaultPage();
Paper paper = pageFormat.getPaper();
//Set the imageable area of this paper
paper.setImageableArea(0, 0, pageFormat.getWidth(), pageFormat.getHeight());
//Set the number of copies
printerJob.setCopies(1);
pageFormat.setPaper(paper);
//Call painter to render the workbook in the specified format
printerJob.setPrintable(workbook, pageFormat);
//Execute print
try {
printerJob.print();
} catch (PrinterException e) {
e.printStackTrace();
}
}
}

Specify Printer Settings when Printing Excel Documents in Java
In addition to print options, it is important to know how to specify a network connected printer and how to specify other printer settings. The following steps demonstrate how to printer Excel documents with the specified printer settings by using Spire.XLS for Java and PrinterJob class.
- Create a Workbook object.
- Load an Excel file using Workbook.loadFromFile() method.
- Create a PrinterJob object using PrinterJob.getPrinterJob() method.
- Specify printer name using PrinterJob.setPrintService() method.
- Sets the number of copies to be printed using PrinterJob .setCopies() method.
- Calls painter to render the workbook using PrinterJob .setPrintable() method.
- Print the workbook using PrinterJob.print() method.
- Java
import com.spire.xls.Workbook;
import javax.print.PrintService;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
public class SpecifyPrinterSettings {
public static void main(String[] args) throws PrinterException {
//Create a Workbook object
Workbook workbook = new Workbook();
//Load an Excel document
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.xlsx");
//Create a PrinterJob object
PrinterJob printerJob = PrinterJob.getPrinterJob();
//Specify printer name
PrintService myPrintService = findPrintService("\\\\192.168.1.104\\HP LaserJet P1007");
printerJob.setPrintService(myPrintService);
//Create a PageFormat object and set it to the default size and orientation
PageFormat pageFormat = printerJob.defaultPage();
//Return a copy of the Paper object associated with this PageFormat.
Paper paper = pageFormat .getPaper();
//Set the imageable area of this Paper
paper.setImageableArea(0,0,pageFormat .getWidth(),pageFormat .getHeight());
//Set the Paper object for this PageFormat
pageFormat .setPaper(paper);
//Set the number of copies
printerJob .setCopies(1);
//Call painter to render the workbook in the specified format
printerJob .setPrintable(workbook,pageFormat);
//Execute print
try {
printerJob.print();
} catch (PrinterException e) {
e.printStackTrace();
}
}
//Get print service by printer name
private static PrintService findPrintService(String printerName) {
PrintService[] printServices = PrinterJob.lookupPrintServices();
for (PrintService printService : printServices) {
if (printService.getName().equals(printerName)) {
return printService;
}
}
return null;
}
}
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.
Spire.XLS for Java is a professional Java Excel API that enables developers to create, manage, manipulate, convert and print Excel worksheets without using Microsoft Office or Microsoft Excel.
Spire.XLS for Java offers a wide range of features of operating Excel worksheets on Java applications, such as creating, reading, editing, converting and printing Excel worksheets, finding/replacing data, creating charts, inserting/extracting/deleting textboxes, creating auto filters, reading/writing hyperlinks, creating/modifying/removing tables, merging/unmerging cells and files, grouping/ungrouping rows and columns, freezing/unfreezing panes, adding digital signatures, encrypting/decrypting Excel workbooks etc.


