как узнать, из какой строки данные действительно присутствуют на листе Excel? - PullRequest
0 голосов
/ 07 мая 2020

Я на самом деле извлекаю идентификаторы электронной почты из таблицы 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);
    }
}  
}    
...