Как найти и заменить текст в Excel с помощью Java
Поиск и замена текста в Excel — это мощная функция, которая помогает пользователям эффективно управлять и редактировать большие наборы данных. Будь то исправление опечаток, обновление информации или упрощение анализа данных, эта функция упрощает рабочие процессы, позволяя быстро вносить изменения во все электронные таблицы.
В этой статье я расскажу, как найти и заменить текст на рабочем листе или в диапазоне ячеек файла Excel с помощью Java Excel API.
- Поиск и замена текста в рабочем листе
- Поиск и замена текста в диапазоне ячеек
Установка файла Spire.Xls.jar
Spire.XLS
for Java — это мощная библиотека, предназначенная для разработчиков,
позволяющая программно создавать, манипулировать и управлять электронными
таблицами Excel. Библиотеку можно
загрузить по этой
ссылке или установить из репозитория Maven.
Поиск и замена текста в рабочем листе
Выполнение функции поиска и замены в рабочем листе обеспечивает равномерное внесение изменений по всему рабочему листу. В Spire.XLS для Java вы можете получить ячейки, содержащие указанный текст, с помощью метода Worksheet.findAllString(). Затем вы можете присвоить значение этим ячейкам с помощью метода CellRange.setText().
Следующий фрагмент кода демонстрирует, как заменить «Hello» в рабочем листе на «Hi».
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) {
// Создать объект Workbook
Workbook workbook = new Workbook();
// Загрузить файл Excel
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.xlsx");
// Получить первый лист
Worksheet worksheet = workbook.getWorksheets().get(0);
// Найти ячейки с значением «Hello»
CellRange[] cells = worksheet.findAllString("Hello", true, true);
// Итерация по найденным ячейкам
for (CellRange cell : cells) {
// Заменить значение ячейки на другое значение
cell.setText("Hi");
// Установить фоновый цвет для ячейки
cell.getStyle().setColor(Color.YELLOW);
}
// Сохранить результирующий файл
workbook.saveToFile("ReplaceDataInWorksheet.xlsx", ExcelVersion.Version2016);
// Освободить ресурсы
workbook.dispose();
}
}
Поиск и замена текста в диапазоне ячеек
Вместо того чтобы выполнять поиск и замену в рабочем листе, вы можете найти и заменить текст в диапазоне ячеек. Используя метод CellRange.findAllString(), вы можете получить ячейки в диапазоне ячеек, которые содержат определенную текстовую строку. Затем замените значение ячейки с помощью метода CellRange.setText().
Следующий пример демонстрирует, как найти ячейки со значением «Hello» в диапазоне ячеек A1:D5 и заменить значение ячейки новой строкой «Hi».
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) {
// Создать объект Workbook
Workbook workbook = new Workbook();
// Загрузить файл Excel
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.xlsx");
// Получить первый лист
Worksheet worksheet = workbook.getWorksheets().get(0);
// Получить определенный диапазон ячеек
CellRange range = worksheet.getCellRange("A1:D5″);
// Найти ячейки в диапазоне, которые имеют значение «Hello»
CellRange[] cells = range.findAllString("Total", true, true);
// Итерация по найденным ячейкам
for (CellRange cell : cells) {
// Заменить значение ячейки на другое значение
cell.setText("Hi");
// Установить фоновый цвет для ячейки
cell.getStyle().setColor(Color.YELLOW);
}
// Сохранить результирующий файл
workbook.saveToFile("ReplaceDataInCellRange.xlsx", ExcelVersion.Version2016);
// Освободить ресурсы
workbook.dispose();
}
}
Заключение
В этой статье вы узнали, как найти и заменить текст в рабочем листе или диапазоне ячеек файла Excel с помощью Spire.XLS for Java. Эта библиотека имеет множество других возможностей, таких как:
Преобразование Excel в изображение в Java