Excel电子表格是储存和处理数据的不二选择。当数据内容过多时,我们可以通过一些快捷工具来进行操作。“查找和替换”就是其中之一,比起手动搜索和更新数据,这个功能能帮助我们在大型电子表格中快速获取目标数据,并更改为新数据。Microsoft办公软件已提供了该功能,这里就不再赘述。今天想为大家分享的是如何通过代码来查找和替换数据(以Java代码为例)。使用到的是Free Spire.XLS for Java组件。示例代码和操作效果请参考以下内容。
程序环境
IntelliJ IDEA 2018 (jdk 1.8.0) 在进行操作之前先导入JAR包,请参考以下两种导入方式: 方法一:如果您使用的是 maven,先创建maven项目。然后通过添加以下代码来配置pom.xml 文件,再点击Import Changes将 JAR文件导入到应用程序中。
1 <repositories> 2 <repository> 3 <id>com.e-iceblue</id> 4 <name>e-iceblue</name> 5 <url>https://repo.e-iceblue.cn/nexus/content/groups/public/</url> 6 </repository> 7</repositories> 8<dependencies> 9 <dependency> 10 <groupId>e-iceblue</groupId> 11 <artifactId>spire.xls.free</artifactId> 12 <version>5.1.0</version> 13 </dependency> 14</dependencies>
方法二:如果您没有使用 maven,则可以从此链接下载Free Spire.XLS for Java,找到lib文件夹下的Spire.XLS.jar并进行解压;然后在IDEA中创建一个新项目,依次点击“文件”(File),“项目结构”(Project Structure),“组件”(Modules),“依赖项”(Dependencies),再点击右方绿色“+”下的第一个选项“JAR文件或路径”(JARs or Directories),找到解压后的Spire.XLS.jar 文件,点击确认,将其导入到项目中。
代码解释:
首先创建一个Workbook实例,再使用Workbook.loadFromFile方法来加载一个示例文档。调用Workbook.getWorksheets().get()方法来获取指定工作表。Worksheet.findAllString()和CellRange.setText方法分别支持查找和替换指定文档。最后再通过Workbook.saveToFile()方法保存结果文档。
示例代码:
1import com.spire.xls.CellRange; 2import com.spire.xls.ExcelVersion; 3import com.spire.xls.Workbook; 4import com.spire.xls.Worksheet; 5 6public class ReplaceData { 7 public static void main(String[] args){ 8 9 //创建Workbook实例 10 Workbook workbook = new Workbook(); 11 //加载Excel示例文档 12 workbook.loadFromFile("sample.xlsx"); 13 14 //获取第一个工作表 15 Worksheet worksheet = workbook.getWorksheets().get(0); 16 17 //在工作表中查找指定的文字 18 CellRange[] ranges = worksheet.findAllString("一般", true, true); 19 20 for (CellRange range : ranges) 21 { 22 //替换为新文字 23 range.setText("普通"); 24 } 25 26 //保存结果文档 27 workbook.saveToFile("ReplaceData.xlsx", ExcelVersion.Version2013); 28 } 29}
效果图:

