В этом посте вы узнаете, как программно находить и заменять текст в электронных таблицах MS Excel на Java. В различных сценариях электронные таблицы MS Excel состоят из огромного количества данных, которые могут распространяться на несколько листов. В таких случаях функция поиска и замены может помочь вам свести к минимуму усилия, необходимые для обновления всех вхождений определенного фрагмента текста. Давайте посмотрим, как автоматизировать эту опцию при работе с большим количеством электронных таблиц из приложений Java.
- Java API для поиска и замены текста в файлах Excel
- Найти и заменить текст в файле Excel
- Найти и заменить текст с помощью регулярного выражения
Java API для поиска и замены текста в файлах Excel
Aspose.Cells for Java — это мощный API для работы с электронными таблицами, который позволяет создавать новые и обрабатывать существующие документы Excel. Функции автоматизации Excel, предоставляемые API, также включают беспрепятственный поиск и замену текста. Вы можете либо скачать API, либо бесплатно установить его в свои приложения на основе Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells</artifactId>
<version>20.11</version>
</dependency>
Найти и заменить текст в Excel с помощью Java
Ниже приведены шаги по поиску и замене текста в электронных таблицах Excel.
- Загрузите файл Excel, используя класс Workbook.
- Создайте экземпляр класса ReplaceOptions.
- Включите поиск с учетом регистра, используя метод ReplaceOptions.setCaseSensitive(boolean).
- Установите параметр для сопоставления текста со всем содержимым ячейки с помощью метода ReplaceOptions.setMatchEntireCellContents(boolean).
- Найдите и замените текст с помощью метода Workbook.replace(String, String, ReplaceOptions).
- Сохраните обновленную таблицу с помощью метода Workbook.save(String).
В следующем примере кода показано, как найти и заменить текст в электронной таблице Excel.
// Загрузить книгу Excel
Workbook workbook = new Workbook("Excel.xlsx");
ReplaceOptions replace = new ReplaceOptions();
// Установите чувствительность к регистру и параметры соответствия текста
replace.setCaseSensitive(false);
replace.setMatchEntireCellContents(false);
// Заменить текст
workbook.replace("find and replace this text","with this text", replace);
// сохранить как файл Excel XLSX
workbook.save("updated.xlsx");
Найти и заменить текст в Excel с помощью регулярного выражения
Вы также можете использовать регулярные выражения для поиска и замены текста в электронных таблицах. Единственная разница в коде заключается в том, что вы включите поиск по регулярному выражению и предоставите регулярное выражение вместо простого текста в методе Workbook.replace. Ниже приведены шаги для выполнения операции поиска и замены с использованием регулярного выражения.
- Загрузите файл Excel, используя класс Workbook.
- Создайте экземпляр класса ReplaceOptions.
- Включите поиск по регулярному выражению с помощью метода ReplaceOptions.setRegexKey(true).
- Найдите и замените текст с помощью метода Workbook.replace(String, String, ReplaceOptions).
- Сохраните обновленную таблицу с помощью метода Workbook.save(String).
В следующем примере кода показано, как найти и заменить текст в электронных таблицах с помощью регулярных выражений.
// Загрузить файл Excel
Workbook workbook = new Workbook("SampleRegexReplace.xlsx");
// Создать варианты замены
ReplaceOptions replace = new ReplaceOptions();
replace.setCaseSensitive(false);
replace.setMatchEntireCellContents(false);
// Установите значение true, чтобы указать, что искомый ключ является регулярным выражением.
replace.setRegexKey(true);
workbook.replace("\\bKIM\\b", "^^^TIM^^^", replace);
// Сохранить обновленный файл
workbook.save("RegexReplace_out.xlsx");
Вывод
Автоматизация Excel стала широко распространенной функцией в различных сферах бизнеса. В соответствии с этим в этом посте вы узнали об одной из основных, но важных особенностей работы с электронными таблицами. В пошаговом руководстве и примерах кода показано, как найти и заменить текст в файлах Excel с помощью Java. Если вы хотите узнать о расширенных функциях API, вы можете изучить документацию.