В мире обработки данных таблицы Excel играют решающую роль в хранении и анализе информации. Когда дело доходит до чтения и извлечения данных из файлов Excel с использованием Java, Apache POI является популярной и мощной библиотекой. В этой статье мы рассмотрим различные методы, предоставляемые Apache POI для чтения файлов Excel, а также примеры кода, демонстрирующие их использование.
- Чтение файла Excel:
Для начала давайте сначала откроем файл Excel с помощью Apache POI:
import org.apache.poi.ss.usermodel.*;
public class ExcelReader {
public static void main(String[] args) {
try (Workbook workbook = WorkbookFactory.create(new File("sample.xlsx"))) {
// Code for reading the Excel file
} catch (IOException | InvalidFormatException e) {
e.printStackTrace();
}
}
}
- Чтение определенного листа.
Если ваш файл Excel содержит несколько листов, вы можете прочитать конкретный лист, используя его индекс или имя:
Sheet sheet = workbook.getSheetAt(0); // Read the first sheet by index
// OR
Sheet sheet = workbook.getSheet("Sheet1"); // Read the sheet by name
- Перебор строк и столбцов.
После того как у вас есть ссылка на лист, вы можете перебирать его строки и столбцы для извлечения данных:
for (Row row : sheet) {
for (Cell cell : row) {
// Extract data from each cell
}
}
<старый старт="4">
Чтобы прочитать значение определенной ячейки, вы можете использовать метод
getCell()
и извлечь значение на основе ее типа данных:Cell cell = row.getCell(0); // Read the first cell in a row
switch (cell.getCellType()) {
case STRING:
String value = cell.getStringCellValue();
break;
case NUMERIC:
double value = cell.getNumericCellValue();
break;
// Handle other data types accordingly
}
- Пропуск заголовков.
Если ваш файл Excel содержит заголовки в первой строке, вы можете пропустить их при переборе строк:
Iterator<Row> rowIterator = sheet.iterator();
if (rowIterator.hasNext()) {
rowIterator.next(); // Skip the header row
}
- Обработка формул.
Apache POI предоставляет методы для чтения как формулы, так и вычисленного значения ячейки, содержащей формулу:
if (cell.getCellType() == CellType.FORMULA) {
String formula = cell.getCellFormula();
CellValue cellValue = evaluator.evaluate(cell); // Get the calculated value
// Extract data from the formula
}
Чтение файлов Excel на Java становится проще благодаря библиотеке Apache POI. Мы изучили различные методы открытия, чтения определенных листов, перебора строк и столбцов, чтения значений ячеек, пропуска заголовков и обработки формул. Имея в своем распоряжении эти методы, вы можете легко извлекать данные из файлов Excel и манипулировать ими с помощью Java.