package test;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class T {
public static void main(String[] args) throws IOException {
new T().readXlsx("D:\\data\\parse_result.xlsx", 1);
}
/**
*
* @param path xlsx文件路径
* @param numSheet 读取第几张表(从 0 开始)
* @return
* @throws IOException
*/
public List<DeviceInfo> readXlsx(String path, int numSheet) throws IOException {
InputStream is = new FileInputStream(path);
XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is);
DeviceInfo deviceInfo = null;
List<DeviceInfo> list = new ArrayList<DeviceInfo>();
//读取第几张表
XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(numSheet);
//读取行
for (int rowNum = 1; rowNum <= xssfSheet.getLastRowNum(); rowNum++) {
XSSFRow xssfRow = xssfSheet.getRow(rowNum);
if (xssfRow != null) {
deviceInfo = new DeviceInfo();
XSSFCell SN = xssfRow.getCell(0);
XSSFCell cpu = xssfRow.getCell(1);
XSSFCell ram = xssfRow.getCell(2);
XSSFCell times = xssfRow.getCell(3);
XSSFCell WAN = xssfRow.getCell(4);
XSSFCell value = xssfRow.getCell(5);
XSSFCell PPPOEStatus = xssfRow.getCell(3);
try {
deviceInfo.setSN(SN.toString());
deviceInfo.setCpu(cpu.toString());
deviceInfo.setRam(ram.toString());
deviceInfo.setTimes(times.toString());
deviceInfo.setWAN(WAN.toString());
deviceInfo.setValue(value.toString());
deviceInfo.setPPPOEStatus(PPPOEStatus.toString());
} catch (NullPointerException e) {
}
list.add(deviceInfo);
}
}
for(DeviceInfo d: list) {
System.out.println(d.getSN());
}
return list;
}
private String getValue(XSSFCell sN) {
return null;
}
}