Try the following code with excel as
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
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.xssf.usermodel.XSSFWorkbook;
public class excelDataReader {
public static void main(String[] args) {
List<Info> infoList = extractInfo();
for (Info info : infoList) {
System.out.println(info);
}
}
public static List<Info> extractInfo() {
List<Info> infoList = new ArrayList<Info>();
Workbook wb = null;
try {
wb = new XSSFWorkbook(new FileInputStream(new
File("C:\\Users\\rrr\\Downloads\\contacts.xlsx")));
Sheet sheet = wb.getSheetAt(0);
boolean skipHeader = true;
for (Row row : sheet) {
if (skipHeader) {
skipHeader = false;
continue;
}
List<Cell> cells = new ArrayList<Cell>();
int lastColumn = Math.max(row.getLastCellNum(), 5);// because my
// excel
// sheet has
// max 5
// columns,
// in case
// last
// column is
// empty
// then
// row.getLastCellNum()
// will
// return 4
for (int cn = 0; cn < lastColumn; cn++) {
Cell c = row.getCell(cn, Row.RETURN_BLANK_AS_NULL);
cells.add(c);
}
Info info = extractInfoFromCell(cells);
infoList.add(info);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (wb != null) {
try {
wb.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return infoList;
}
private static Info extractInfoFromCell(List<Cell> cells) {
Info info = new Info();
Cell nameCell = cells.get(0);
if (nameCell != null) {
nameCell.setCellType(Cell.CELL_TYPE_STRING);
info.setName(nameCell.getStringCellValue());
}
Cell mobileCell = cells.get(1);
if (mobileCell != null) {
mobileCell.setCellType(Cell.CELL_TYPE_STRING);
info.setMobile(mobileCell.getStringCellValue());
}
Cell phoneCell = cells.get(2);
if (phoneCell != null) {
phoneCell.setCellType(Cell.CELL_TYPE_STRING);
info.setPhone(phoneCell.getStringCellValue());
}
Cell permAddressCell = cells.get(3);
if (permAddressCell != null) {
permAddressCell.setCellType(Cell.CELL_TYPE_STRING);
info.setPermAddress(permAddressCell.getStringCellValue());
}
Cell commAddressCell = cells.get(4);
if (commAddressCell != null) {
commAddressCell.setCellType(Cell.CELL_TYPE_STRING);
info.setCommAddress(commAddressCell.getStringCellValue());
}
return info;
}
} 包 cmprocesser.cmprocesser;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Comment;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
public class Info {
private String name;
private String mobile;
private String phone;
private String permAddress;
private String commAddress;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getPermAddress() {
return permAddress;
}
public void setPermAddress(String permAddress) {
this.permAddress = permAddress;
}
public String getCommAddress() {
return commAddress;
}
public void setCommAddress(String commAddress) {
this.commAddress = commAddress;
}
@Override
public String toString() {
return "Info [Name=" + name + ", Mobile=" + mobile + ", Phone=" + phone + ", Permanent Address=" + permAddress
+ ", Communication Address=" + commAddress + "]";
}
}