java excel替换字符串_java操作excel 替换指定字符串
时间: 2023-07-06 18:27:03 浏览: 167
可以使用Apache POI库来操作Excel文件,其中有一个类叫做XSSFWorkbook可以用来读取和写入.xlsx格式的Excel文件。以下是一个替换Excel中指定字符串的示例代码:
```java
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelUtils {
public static void replaceStringInExcel(String filePath, String sheetName, String oldString, String newString) {
try {
FileInputStream file = new FileInputStream(filePath);
XSSFWorkbook workbook = new XSSFWorkbook(file);
XSSFSheet sheet = workbook.getSheet(sheetName);
// Loop through all rows in the sheet
for (Row row : sheet) {
// Loop through all cells in the row
for (Cell cell : row) {
// Check if the cell contains the old string
if (cell.getCellType() == XSSFCell.CELL_TYPE_STRING && cell.getStringCellValue().contains(oldString)) {
// Replace the old string with the new string
String newValue = cell.getStringCellValue().replace(oldString, newString);
cell.setCellValue(newValue);
}
}
}
// Write the changes back to the Excel file
FileOutputStream outFile = new FileOutputStream(filePath);
workbook.write(outFile);
outFile.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在这个例子中,我们首先打开Excel文件并获取指定的工作表。然后,我们循环遍历工作表中的每个单元格,如果单元格包含旧字符串,则将其替换为新字符串。最后,我们将更改写回到Excel文件中。
你可以调用该方法并传入Excel文件的路径、工作表的名称、旧字符串和新字符串来替换指定的字符串。例如:
```java
ExcelUtils.replaceStringInExcel("C:\\data\\example.xlsx", "Sheet1", "old string", "new string");
```
这将在名为"Sheet1"的工作表中查找"old string"并将其替换为"new string"。
阅读全文