Excel is a versatile tool extensively utilized for data management and analysis. There are occasions when you may require locating specific data within an Excel file and replacing it with updated values. In this article, we will explore how to find and replace data in Excel in Java using Spire.XLS for Java.
- Find and Replace Data in a Worksheet in Excel
- Find and Replace Data in a Specific Cell Range in Excel
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>14.11.0</version> </dependency> </dependencies>
Find and Replace Data in a Worksheet in Excel
The Worksheet.findAllString() method provided by Spire.XLS for Java can help you find the cells containing specific text in Excel documents. Once found, you can conveniently replace these values with new ones using the CellRange.setText() method. The steps are as follows:
- Create an instance of Workbook class.
- Load an Excel file using Workbook.loadFromFile() method.
- Get the desired worksheet using Workbook.getWorksheets().get() method.
- Find the specific value in the worksheet using Worksheet.findAllString() method and replace the value of the cell with another value using CellRange.setText() method.
- Set a background for the cell so you can easily find the updated cells using CellRange. getStyle().setColor() method.
- Save the result file using Workbook.saveToFile() method.
- Java
import com.spire.xls.CellRange; import com.spire.xls.ExcelVersion; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; import java.awt.Color; public class ReplaceData { public static void main(String[] args) { // Initialize an instance of the Workbook class Workbook workbook = new Workbook(); // Load an Excel file workbook.loadFromFile("Test.xlsx"); // Get the first worksheet Worksheet worksheet = workbook.getWorksheets().get(0); // Find the cells with the specific string value "Total" in the worksheet CellRange[] cells = worksheet.findAllString("Total", true, true); // Iterate through the found cells for (CellRange cell : cells) { // Replace the value of the cell with another value cell.setText("Sum"); // Set a background color for the cell cell.getStyle().setColor(Color.YELLOW); } // Save the result file to a specific location workbook.saveToFile("ReplaceDataInWorksheet.xlsx", ExcelVersion.Version2016); workbook.dispose(); } }
Find and Replace Data in a Specific Cell Range in Excel
To replace data within a specific range of cells, you can utilize the CellRange.findAllString() method to locate cells within the range that contain the desired values. Then, use the CellRange.setText() method to replace the cell value with a new value. The detailed steps are as follows:
- Create an instance of Workbook class.
- Load an Excel file using Workbook.loadFromFile() method.
- Get the desired worksheet using Workbook.getWorksheets().get() method.
- Get a specific cell range using Worksheet.getCellRange() method.
- Find the cells with the specific value in the cell range using CellRange.findAllString() method.
- Iterate through the found cells
- Replace the value of the cell with another value using CellRange setText() method.
- Set a background for the cell so you can easily find the updated cells using the CellRange. getStyle().setColor() method.
- Save the result file using Workbook.saveToFile() method.
- Java
import com.spire.xls.CellRange; import com.spire.xls.ExcelVersion; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; import java.awt.Color; public class ReplaceDataInCellRange { public static void main(String[] args) { // Initialize an instance of the Workbook class Workbook workbook = new Workbook(); // Load an Excel file workbook.loadFromFile("Test.xlsx"); // Get the first worksheet Worksheet worksheet = workbook.getWorksheets().get(0); // Get a specific cell range CellRange range = worksheet.getCellRange("A1:C12"); // Find the cells with the specific value "Total" in the cell range CellRange[] cells = range.findAllString("Total", true, true); // Iterate through the found cells for (CellRange cell : cells) { // Replace the value of the cell with another value cell.setText("Sum"); // Set a background color for the cell cell.getStyle().setColor(Color.YELLOW); } // Save the result file to a specific location workbook.saveToFile("ReplaceDataInCellRange.xlsx", ExcelVersion.Version2016); 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.