1.直接贴代码,写一个工具类
public class PoiUtils {
public static List<Automat> getAutomatsByXls(String fileName) {
List<Automat> autoList = new ArrayList<Automat>();//那些一个集合存入对象
Automat automat = new Automat();//初始化一个对象。好放对应xls的值。
try {
InputStream input = new FileInputStream(fileName); // 建立输入流
HSSFWorkbook wb = new HSSFWorkbook(input);
Sheet sheet = wb.getSheetAt(0); // 获得第一个表单
Iterator<Row> rows = sheet.rowIterator(); // 获得第一个表单的迭代器
while (rows.hasNext()) {//
Row row = rows.next(); // 获得行数据
// System.out.println("Row #" + row.getRowNum()); // 获得行号从0开始
Iterator<Cell> cells = row.cellIterator(); // 获得第一行的迭代器
Automat automat1 = new Automat();
while (cells.hasNext()) {
Cell cell = cells.next();//
String temcell;// 临时
String cell1 = cell.getColumnIndex() + "";
String cell2 = cell1.substring(0, 1);
switch (cell.getCellType()) { // 根据cell中的类型来输出数据
case HSSFCell.CELL_TYPE_NUMERIC:
if (HSSFDateUtil.isCellDateFormatted(cell)) {
Date date1 = cell.getDateCellValue();
temcell = DateFormatUtils.format(date1,
"yyyy-MM-dd") + "";
break;
} else {
temcell = cell.getNumericCellValue() + "";
break;
}
case HSSFCell.CELL_TYPE_STRING:
temcell = cell.getStringCellValue() + "";
break;
case HSSFCell.CELL_TYPE_BOOLEAN:
temcell = cell.getBooleanCellValue() + "";
break;
case HSSFCell.CELL_TYPE_FORMULA:
temcell = cell.getCellFormula() + "";
break;
default:
temcell = null;
break;
}
//************************************给对象赋值
if (cell1.equals("0")) {
automat1.setMeansclass(temcell);
temcell = null;
} else {
}
if (cell1.equals("1")) {
automat1.setMeansname(temcell);
temcell = null;
} else {
}
if (cell1.equals("2")) {
automat1.setClassify(temcell);
temcell = null;
} else {
}
if (cell1.equals("3")) {
automat1.setModels(temcell);
temcell = null;
} else {
}
if (cell1.equals("4")) {
automat1.setMeansNo(temcell);
temcell = null;
} else {
}
if (cell1.equals("5")) {
automat1.setPropertyNo(temcell);
temcell = null;
} else {
}
if (cell1.equals("6")) {
automat1.setModelNo(temcell);
temcell = null;
} else {
}
if (cell1.equals("7")) {
automat1.setKeeping(temcell);
temcell = null;
} else {
}
if (cell1.equals("8")) {
automat1.setGaindate(temcell);
temcell = null;
} else {
}
if (cell1.equals("9")) {
automat1.setCost(temcell);
temcell = null;
} else {
}
if (cell1.equals("10")) {
if (cell1.length() < 1) {
} else {
automat1.setUse(temcell);
}
temcell = null;
} else {
}
}
autoList.add(automat1);// 增加到LIST
}
return autoList;
} catch (IOException ex) {
ex.printStackTrace();
return null;
}
}
2.进行测试,把要读取的XLS格式文件路径当参数传进去,就可以得到一个对象集合,有了集合,再想放到数据库存就简单了。
@Test
public void test() {
String fileName1 = "D:/poiTest/mlist1.xls";
List<Automat> sa = getAutomatsByXls(fileName1);
for (Automat a : sa) {
System.out.println(a);
}
}
}
public class PoiUtils {
public static List<Automat> getAutomatsByXls(String fileName) {
List<Automat> autoList = new ArrayList<Automat>();//那些一个集合存入对象
Automat automat = new Automat();//初始化一个对象。好放对应xls的值。
try {
InputStream input = new FileInputStream(fileName); // 建立输入流
HSSFWorkbook wb = new HSSFWorkbook(input);
Sheet sheet = wb.getSheetAt(0); // 获得第一个表单
Iterator<Row> rows = sheet.rowIterator(); // 获得第一个表单的迭代器
while (rows.hasNext()) {//
Row row = rows.next(); // 获得行数据
// System.out.println("Row #" + row.getRowNum()); // 获得行号从0开始
Iterator<Cell> cells = row.cellIterator(); // 获得第一行的迭代器
Automat automat1 = new Automat();
while (cells.hasNext()) {
Cell cell = cells.next();//
String temcell;// 临时
String cell1 = cell.getColumnIndex() + "";
String cell2 = cell1.substring(0, 1);
switch (cell.getCellType()) { // 根据cell中的类型来输出数据
case HSSFCell.CELL_TYPE_NUMERIC:
if (HSSFDateUtil.isCellDateFormatted(cell)) {
Date date1 = cell.getDateCellValue();
temcell = DateFormatUtils.format(date1,
"yyyy-MM-dd") + "";
break;
} else {
temcell = cell.getNumericCellValue() + "";
break;
}
case HSSFCell.CELL_TYPE_STRING:
temcell = cell.getStringCellValue() + "";
break;
case HSSFCell.CELL_TYPE_BOOLEAN:
temcell = cell.getBooleanCellValue() + "";
break;
case HSSFCell.CELL_TYPE_FORMULA:
temcell = cell.getCellFormula() + "";
break;
default:
temcell = null;
break;
}
//************************************给对象赋值
if (cell1.equals("0")) {
automat1.setMeansclass(temcell);
temcell = null;
} else {
}
if (cell1.equals("1")) {
automat1.setMeansname(temcell);
temcell = null;
} else {
}
if (cell1.equals("2")) {
automat1.setClassify(temcell);
temcell = null;
} else {
}
if (cell1.equals("3")) {
automat1.setModels(temcell);
temcell = null;
} else {
}
if (cell1.equals("4")) {
automat1.setMeansNo(temcell);
temcell = null;
} else {
}
if (cell1.equals("5")) {
automat1.setPropertyNo(temcell);
temcell = null;
} else {
}
if (cell1.equals("6")) {
automat1.setModelNo(temcell);
temcell = null;
} else {
}
if (cell1.equals("7")) {
automat1.setKeeping(temcell);
temcell = null;
} else {
}
if (cell1.equals("8")) {
automat1.setGaindate(temcell);
temcell = null;
} else {
}
if (cell1.equals("9")) {
automat1.setCost(temcell);
temcell = null;
} else {
}
if (cell1.equals("10")) {
if (cell1.length() < 1) {
} else {
automat1.setUse(temcell);
}
temcell = null;
} else {
}
}
autoList.add(automat1);// 增加到LIST
}
return autoList;
} catch (IOException ex) {
ex.printStackTrace();
return null;
}
}
2.进行测试,把要读取的XLS格式文件路径当参数传进去,就可以得到一个对象集合,有了集合,再想放到数据库存就简单了。
@Test
public void test() {
String fileName1 = "D:/poiTest/mlist1.xls";
List<Automat> sa = getAutomatsByXls(fileName1);
for (Automat a : sa) {
System.out.println(a);
}
}
}