excel 导入 完整例子
来源:互联网 发布:catia软件培训 编辑:程序博客网 时间:2024/05/22 06:24
导入excel
eg
创建url 创建工单薄 创建工单页 定义行数 定义单元格 输出流 获取单元格的值
/** 工单导入* */
public String importExcelData() throws Exception {
try {
// 创建工单薄
Workbook book = Workbook.getWorkbook(myFile);
// 创建一个工单页
Sheet sheet = book.getSheet(0);
// 行数
int rows = sheet.getRows();
Map<String, List<ComplaintsListVo>> map = complaintsmanager
.importMemberExcel(sheet, rows);
boolean b = true;
// 判断导入的错误数据
List<ComplaintsListVo> falseQmv = map.get("false");
if (falseQmv != null && falseQmv.size() > 0) {
b = false;
}
// json数组
JSONArray jsonObject = null;
// json配置
JsonConfig jc = new JsonConfig();
// 导入的数据无误
if (b) {
setListmember(map.get("all"));
setFalsemember(map.get("false"));
setSuccessmember(map.get("success"));
// 数据入库
complaintsmanager.saveImportMember((List<ComplaintsListVo>) map
.get("all"));
jsonObject = JSONArray.fromObject(listmember, jc);
setJsondata("{success:true,data:" + jsonObject.toString() + "}");
Struts2Utils.getSession().setAttribute("excellist", listmember);
} else {
setListmember(map.get("all"));
setSuccessmember(map.get("success"));
setFalsemember(map.get("false"));
jsonObject = JSONArray.fromObject(falsemember, jc);
setJsondata("{success:false,data:" + jsonObject.toString()
+ "}");
Struts2Utils.getSession().setAttribute("excellist", listmember);
}
} catch (Exception e) {
logger.error("", e);
setReturnmessage("[ 读取文件失败,请使用标准模板导入文件! ]");
}
return "json";
}
public Map<String, List<ComplaintsListVo>> importMemberExcel(Sheet sheet,
int rows) {
Map<String, List<ComplaintsListVo>> map = new HashMap<String, List<ComplaintsListVo>>();
List<ComplaintsListVo> success = new ArrayList<ComplaintsListVo>();
List<ComplaintsListVo> failed = new ArrayList<ComplaintsListVo>();
List<ComplaintsListVo> listqmv = new ArrayList<ComplaintsListVo>();
try{
for(int i=1;i<rows;i++){
Cell[] cell = sheet.getRow(i);
ComplaintsListVo clv = new ComplaintsListVo();
StringBuilder sb = new StringBuilder();//输出流
//判断所在的行是否有数据
if(cell.length==0){
System.out.println(i);
sb.append("所在行数据为空,格式错误!");
}
if(cell.length>52){
sb.append("你所在的行数据超过52列,系统无法处理");
}else{
//对每一行的数据进行循环处理
for(int j=0;j<cell.length;j++){
switch (j) {
/**投诉类型处理**/
case 0:
String gdtype = cell[0].getContents();//得到列的工单类型
if(null==gdtype||"".equals(gdtype)){
clv.setGdType("工单类型不能为空");
sb.append("|");
}else{
if("投诉".equals(gdtype)||"差错".equals(gdtype)||"建议".equals(gdtype)||"表扬".equals
(gdtype)){
clv.setGdType(gdtype);
}else{
sb.append("工单类型错误");
sb.append("|");
}
}
break;
/**投诉来源管理**/
case 1:
String tsfrom= cell[1].getContents();
if(null==tsfrom||"".equals(tsfrom)){
sb.append("投诉来源不能为空");
}else{
clv.setTsFrom(tsfrom);
}
clv.setTsFrom(tsfrom.trim());
break;
/**产品类型管理**/
//还有相应的字段
}
}
}
if (!"".equals(sb.toString().trim())) {
failed.add(clv);
listqmv.add(clv);
} else {
sb.append("符合规则");
success.add(clv);
listqmv.add(clv);
}
}
map.put("success", success);
map.put("false", failed);
map.put("all", listqmv);
return map;
}catch (Exception e) {
e.printStackTrace();
ComplaintsListVo qmv = new ComplaintsListVo();
listqmv.add(qmv);
map.put("sucess", success);
map.put("false", failed);
map.put("all", listqmv);
return map;
}
}
- excel 导入 完整例子
- springmvc导入Excel例子
- django 完成excel文件下载,完整例子
- Excel导入SQL数据库完整代码
- Excel导入SQL数据库完整代码
- bootstrap-fileinput模态框导入Excel完整示例
- DBGird中数据导入Excel例子!
- ADOquery导入EXCEL表数据例子
- 一个Excel导入SQL Server的例子
- 一个Excel导入SQL Server的例子
- POI导入Excel、导出Excel的简单例子
- 以下是一个完整的关闭excel进程的例子
- 使用POI和DynaBean导出Excel的完整例子
- Excel导入Oracle数据库C#winform完整代码
- C# WinForm 导出导入Excel/Doc 完整实例教程
- ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
- Excel导入Oracle数据库C#winform完整代码
- 完整ASP.Net Excel导入程序(支持2007)
- android 4.2 在12.4 for ubuntu 64bit 编译问题。
- cppPrimer2
- ubuntu安装verilog
- 浅析远程过程调用 RPC
- NSNotificationCenter 的详细说明
- excel 导入 完整例子
- rtl8192cu无线网卡移植时遇到issue nulldata to keep alive issue nulldata:0问题解决办法
- 类似新浪微博发布时间显示方式 比如 **分钟前 ** 小时前 昨天12:30 前天13:30等
- #小练习 SGMLParser 解析 HTML
- UML用例建模解析(一)
- java程序:在排序好的数组中添加一个数字,将添加后的数字插入到数组合适的位置。怎么写啊?
- CAN 波特率设置
- 关于gcc 1.54的配置
- 进程间通信系列 之 消息队列函数(msgget、msgctl、msgsnd、msgrcv)及其范例