Я пишу программу Java для извлечения данных из листа Excel.Читайте только несколько столбцов из листа excel
Из нижеприведенной программы я могу получить все данные.
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Iterator;
import org.apache.poi.ss.formula.functions.Column;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ReadData {
@SuppressWarnings({ "resource", "null" })
public static void main(String[] args) throws IOException {
// get file
FileInputStream fin = new FileInputStream(
new File("C:\\A2015.xlsx"));
// create book holding object
XSSFWorkbook wb = new XSSFWorkbook(fin);
// get sheet
XSSFSheet sheet = wb.getSheetAt(0);
// iterate through rows
Iterator<Row> rowIt = sheet.rowIterator();
while (rowIt.hasNext()) {
XSSFRow row = (XSSFRow) rowIt.next();
// iterate through Columns
Iterator<Cell> colIt = row.cellIterator();
while (colIt.hasNext()) {
Cell cell = colIt.next();
System.out.println(cell.toString());
}
System.out.println();
}
}
}
Но вот мой случай есть почти 45-47 колонны и оттуда есть некоторые данные, которые не требуется (для меня, но необходимы для некоторых других команд). Каждый столбец имеет заголовок, и из этих столбцов 45-47 я хочу вытащить данные только из 12 столбцов, и они расположены случайным образом между остальными столбцами в листе Excel.
Мой вопрос в том, есть ли способ перебирать все строки и получать данные из этих 12 столбцов только с помощью заголовка. Если это возможно, сообщите мне, как его извлечь.
Я использую POI Apache.
Благодаря
вы имеете в виду вы хотите получать только столбцы, которые соответствуют заголовку столбца, который определен в строке 1? – SMA
Как насчет использования * row.getCell (int cellnum) * способ? – agad
У меня есть 45-47 столбцов, есть ли другой тип, основанный на заголовке столбца, определенном в верхней части, или нам нужно сделать это только с использованием номера столбца ?, так как мои столбцы похожи на AA, AB, AG, AH, AK, AT, AU. и мне нужно получить текст из этих столбцов. – user3872094