Я на самом деле извлекаю идентификаторы электронной почты из таблицы Excel, так как сейчас я работаю над панелью электронной почты. Но предположим, что на листе Excel также могут быть имена столбцов, так как я могу узнать, из каких фактических данных строки действительно присутствуют, чтобы я мог динамически выяснить, какой столбец имеет идентификаторы электронной почты. Вот мой текущий код:
Примечание: я использовал Apache библиотеки POI
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import java.util.*;
public class Extractor
{
public static void main(String[] args) throws IOException, InvalidFormatException
{
int i=0;
String data;
List<String> list = new ArrayList<>();
Workbook wb = WorkbookFactory.create(new FileInputStream("C:\\Users\\Harsh Sharma\\Documents\\Details.xlsx"));
Sheet sheet = wb.getSheetAt(0);
for (int j=0; j< sheet.getLastRowNum() + 1; j++) {
Row row = sheet.getRow(j);
while(true)
{
Cell cell = row.getCell(i); //get third cell
data = cell.toString();
if(data.contains("@gmail.com"))
{
i = cell.getColumnIndex();
list.add(data);
break;
}
else
{
if(i == row.getLastCellNum())
{
break;
}
else
{
i= i+1;
}
}
}
}
for(String s: list)
{
System.out.println(s);
}
}
}