Java 导入excel
package com.wt.wkbox.common;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import net.paoding.rose.web.Invocation;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import com.wt.wkbox.common.util.IdTool;
import com.wt.wkbox.model.basic.biz.WkboxMoneyConsumeView;
import com.wt.wkbox.model.userManager.WkboxUser;
/**
* ClassName:Test <br/>
* Function: ADD FUNCTION. <br/>
* Reason: ADD REASON. <br/>
* Date: 2016年7月9日 下午2:26:13 <br/>
* @author wpengfei
* @version
* @since JDK 1.6
* @see
*/
public class Test {
public static List<WkboxMoneyConsumeView> getStudentFromExcel(String excelUrl) {
excelUrl = "E:\\wkBox\\web\\wkBox-mobile-web\\trunk\\wkBox-web\\src\\main\\webapp\\upload\\1468043253038.xls";
List<WkboxMoneyConsumeView> list=new ArrayList<WkboxMoneyConsumeView>();
try {
//把一张xls的数据表读到wb里
HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(new File(excelUrl)));
//读取第一页,一般一个excel文件会有三个工作表,这里获取第一个工作表来进行操作
HSSFSheet sheet = wb.getSheetAt(0);
//循环遍历表sheet.getLastRowNum()是获取一个表最后一条记录的记录号,
//如果总共有3条记录,那获取到的最后记录号就为2,因为是从0开始的
for(int j=1;j<sheet.getLastRowNum()+1;j++) {
//创建一个行对象
HSSFRow row = sheet.getRow(j);
WkboxMoneyConsumeView consume = new WkboxMoneyConsumeView();
//把一行里的每一个字段遍历出来
for(int i=0;i<row.getLastCellNum();i++) {
//创建一个行里的一个字段的对象,也就是获取到的一个单元格中的值
HSSFCell cell = row.getCell(i);
if(cell==null ){
continue;
}
//在这里我们就可以做很多自己想做的操作了,比如往数据库中添加数据等
if(i == 0){
consume.setId(getValue(cell));
}else if(i == 1 ){
}else if(i == 2){
}else if(i == 3){
consume.setSchoolName(getValue(cell));
}else if(i == 4){
}else if(i == 5){
}else if(i == 6){
}else if(i == 7){
}
}
list.add(consume);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
File file=new File(excelUrl);
// file.delete();
}
return list;
}
public static void main(String[] args) {
List<WkboxMoneyConsumeView> list = getStudentFromExcel("1234");
System.out.println(list.size());
for(WkboxMoneyConsumeView consume : list){
System.out.println(consume.getId()+": "+consume.getSchoolName());
}
}
@SuppressWarnings("static-access")
private static String getValue(HSSFCell hssfCell) {
if (hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN) {
return String.valueOf(hssfCell.getBooleanCellValue());
} else if (hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC) {
return String.valueOf(hssfCell.getNumericCellValue());
} else {
return String.valueOf(hssfCell.getStringCellValue());
}
}
}
还没有评论,来说两句吧...