也是给自己做记录啦,以后用到的时候可以方便查看!呵呵,很多人都写过了哦!
首先.要在工程lib里加入 jxl.jar 这个包是肯定的!
在头部导入这些类 当然还有其他类可以用到 呵呵
我上传的有jxl.jar包哦~
首先.要在工程lib里加入 jxl.jar 这个包是肯定的!
在头部导入这些类 当然还有其他类可以用到 呵呵
import jxl.Sheet;
import jxl.Workbook;
import jxl.CellType;
/**
* 解析Xls文件 参数1:文件写入流(也就是把excel变成流 其他参数因为业务 需要 才做的 暂不考虑)
* 参数2:分公司
* 参数3:最后修改人名称
*/
public String parsexls(InputStream in, String i_subcomp_id,String username) {
Workbook book; //声明一个空的工作对象
ArrayList listupdate = new ArrayList();
ArrayList listinsert = new ArrayList();
ArrayList listmsg = new ArrayList();
String subcompid = "";
String msg = "";
String cellid = "";
try {
book = Workbook.getWorkbook(in);//使工作薄对象得到一个execl
Sheet se = book.getSheet(0); //得到Excel第一个sheet
int rownum = se.getRows(); //获取Excel里的总记录数
StringBuffer sb=new StringBuffer();
boolean iserror=false;
for (int i = 1; i < rownum; i++) { //循环读取
int j=i+1;
ProjectData pd = new ProjectData();
// 分公司(得到第i行第0列的类型)其中 getContents()为拿到那一列的值
if (se.getCell(0, i).getType() != CellType.EMPTY) {
String subcompName = se.getCell(0, i).getContents().trim();
subcompid = this.getCompId(subcompName);
if (i_subcomp_id.equals("0")) {
if (subcompid == null || subcompid.equals("")) {
msg = "第" + j + "行第1列分公司名称不正确!";
sb.append(msg+"<br>");
iserror=true;
} else {
pd.setI_subcomp_id(subcompid);
}
} else {
if (!subcompid.equals(i_subcomp_id)) {
msg = "第" + j + "行第1列导入数据的分公司与用户分公司不符!";
sb.append(msg+"<br>");
iserror=true;
} else {
if ( subcompid == null || subcompid.equals("") ) {
msg = "第" + j + "行第1列分公司名称不正确!";
sb.append(msg+"<br>");
iserror=true;
} else {
pd.setI_subcomp_id(subcompid);
}
}
}
} else {
msg = "第" + j + "行第1列分公司值为空";
sb.append(msg+"<br>");
iserror=true;
}
}
}
我上传的有jxl.jar包哦~