天天看点

excel导入数据到mysql数据库

    public String addImportOrderExcelData(){

        try {

             Workbook rwb1=Workbook.getWorkbook(file);

             StringBuilder sb=new StringBuilder();

             StringBuilder sbd=new StringBuilder();

           //判断必填项标识

             int cflat = 0;

             //判断必填项标识

             Boolean flags=true;

             String fmsg = "";

             //用户id

             String userId=getSession().getAttribute("userId").toString();

             AdminUsers adminUsers=adminUserSerice.getAdminUsers(Integer.valueOf(userId));

            if(statas==3){

                request.setAttribute("errorMsg","模板格式不对,请重新下载");

                return INPUT;

            }

            //状态为一的话添加订单信息 statas =2的话添加的是订单明细信息

            if(statas==1){

                request.setAttribute("errorMsg","");

                //String file1=file.getAbsolutePath();

                //System.err.println(username);

                Sheet rs=rwb1.getSheet(0);//或者rwb.getSheet(0)

                String sheet0Name = StringUtils.trimToEmpty(rs.getName());

                if(("Detailedlist").equals(sheet0Name)){

                 }else {

                     request.setAttribute("errorMsg","电子订单表头格式不对请重新下载");

                     return INPUT;

                 }

              //匹配进境电子清单信息表头

                 String hcell0Con0 = StringUtils.trimToEmpty(rs.getCell(0,0).getContents());

                 String hcell0Con1 = StringUtils.trimToEmpty(rs.getCell(1,0).getContents());                          

                 String hcell0Con2 = StringUtils.trimToEmpty(rs.getCell(2,0).getContents());                          

                 String hcell0Con3 = StringUtils.trimToEmpty(rs.getCell(3,0).getContents());                          

                 String hcell0Con4 = StringUtils.trimToEmpty(rs.getCell(4,0).getContents());                         

                 String hcell0Con5 = StringUtils.trimToEmpty(rs.getCell(5,0).getContents());                          

                 String hcell0Con6 = StringUtils.trimToEmpty(rs.getCell(6,0).getContents());                          

                 String hcell0Con7 = StringUtils.trimToEmpty(rs.getCell(7,0).getContents());                          

                 String hcell0Con8 = StringUtils.trimToEmpty(rs.getCell(8,0).getContents());                          

                 String hcell0Con9 = StringUtils.trimToEmpty(rs.getCell(9,0).getContents());

                 String hcell0Con10 = StringUtils.trimToEmpty(rs.getCell(10,0).getContents());

                 String hcell0Con11 = StringUtils.trimToEmpty(rs.getCell(11,0).getContents());

                 String hcell0Con12 = StringUtils.trimToEmpty(rs.getCell(12,0).getContents());

                 String hcell0Con13 = StringUtils.trimToEmpty(rs.getCell(13,0).getContents());

                 String hcell0Con14 = StringUtils.trimToEmpty(rs.getCell(14,0).getContents());

                 String hcell0Con15 = StringUtils.trimToEmpty(rs.getCell(15,0).getContents());

                 String hcell0Con16 = StringUtils.trimToEmpty(rs.getCell(16,0).getContents());

                 String hcell0Con17 = StringUtils.trimToEmpty(rs.getCell(17,0).getContents());

                 String hcell0Con18 = StringUtils.trimToEmpty(rs.getCell(18,0).getContents());

                 String hcell0Con19 = StringUtils.trimToEmpty(rs.getCell(19,0).getContents());

                 String hcell0Con20 = StringUtils.trimToEmpty(rs.getCell(20,0).getContents());

                 String hcell0Con21 = StringUtils.trimToEmpty(rs.getCell(21,0).getContents());

                 String hcell0Con22 = StringUtils.trimToEmpty(rs.getCell(22,0).getContents());

                 String hcell0Con23 = StringUtils.trimToEmpty(rs.getCell(23,0).getContents());

                 String hcell0Con24 = StringUtils.trimToEmpty(rs.getCell(24,0).getContents());

                 String hcell0Con25 = StringUtils.trimToEmpty(rs.getCell(25,0).getContents());

                 String hcell0Con26 = StringUtils.trimToEmpty(rs.getCell(26,0).getContents());

                 String hcell0Con27 = StringUtils.trimToEmpty(rs.getCell(27,0).getContents());

                 String hcell0Con28 = StringUtils.trimToEmpty(rs.getCell(28,0).getContents());

                 String hcell0Con29 = StringUtils.trimToEmpty(rs.getCell(29,0).getContents());

                 String hcell0Con30 = StringUtils.trimToEmpty(rs.getCell(30,0).getContents());

                 String hcell0Con31 = StringUtils.trimToEmpty(rs.getCell(31,0).getContents());

                 String hcell0Con32 = StringUtils.trimToEmpty(rs.getCell(32,0).getContents());

                 String hcell0Con33 = StringUtils.trimToEmpty(rs.getCell(33,0).getContents());

                //判断表头是否有误

                 int hflat = 0;

                 if(!("订单编号(必须不存在的订单编号)(必填)").equals(hcell0Con0))

                 {hflat=1;System.out.println("订单编号(必须不存在的订单编号)(必填)"+"||"+hcell0Con0);}

                 if(!("企业运单编号(必填)").equals(hcell0Con1))

                 {hflat=1;System.out.println("企业运单编号(必填)"+"||"+hcell0Con1);}

                 if(!("订单的日期(必填)").equals(hcell0Con2))

                 {hflat=1;System.out.println("订单的日期(必填)"+"||"+hcell0Con2);}

                 if(!("收货人代码(身份证)(必填)").equals(hcell0Con3))

                 {hflat=1;System.out.println("收货人代码(身份证)(必填)"+"||"+hcell0Con3);}

                 if(!("收货人名称(必填)").equals(hcell0Con4))

                 {hflat=1;System.out.println("收货人名称(必填)"+"||"+hcell0Con4);}

                 if(!("收件人省(必填)").equals(hcell0Con5))

                 {hflat=1;System.out.println("收件人省(必填)"+"||"+hcell0Con5);}

                 if(!("收件人市(必填)").equals(hcell0Con6))

                 {hflat=1;System.out.println("收件人市(必填)"+"||"+hcell0Con6);}

                 if(!("收件人区(必填)").equals(hcell0Con7))

                 {hflat=1;System.out.println("收件人区(必填)"+"||"+hcell0Con7);}

                 if(!("收件人省市区代码(请点击查询电子订单代码模板)(必填)").equals(hcell0Con8))

                 {hflat=1;System.out.println("收件人省市区代码(请点击查询电子订单代码模板)(必填)"+"||"+hcell0Con8);}

                 if(!("收件人电话(必填)").equals(hcell0Con9))

                 {hflat=1;System.out.println("收件人电话(必填)"+"||"+hcell0Con9);}

                 if(!("运输方式代码(请点击查询电子订单代码模板)(必填)").equals(hcell0Con10))

                 {hflat=1;System.out.println("运输方式代码(请点击查询电子订单代码模板)(必填)"+"||"+hcell0Con10);}

                 if(!("包装种类代码(请点击查询电子订单代码模板)(必填)").equals(hcell0Con11))

                 {hflat=1;System.out.println("包装种类代码(请点击查询电子订单代码模板)(必填)"+"||"+hcell0Con11);}

                 if(!("主要商品名称(必填)").equals(hcell0Con12))

                 {hflat=1;System.out.println("主要商品名称(必填)"+"||"+hcell0Con12);}

                 if(!("申请出仓日期(必填)").equals(hcell0Con13))

                 {hflat=1;System.out.println("申请出仓日期(必填)"+"||"+hcell0Con13);}

                 if(!("发件人姓名(必填)").equals(hcell0Con14))

                 {hflat=1;System.out.println("发件人姓名(必填)"+"||"+hcell0Con14);}

                 if(!("发件人国家代码(请点击查询电子订单代码模板)(必填)").equals(hcell0Con15))

                 {hflat=1;System.out.println("发件人国家代码(请点击查询电子订单代码模板)(必填)"+"||"+hcell0Con15);}

                 if(!("发件人地址(必填)").equals(hcell0Con16))

                 {hflat=1;System.out.println("发件人地址(必填)"+"||"+hcell0Con16);}

                 if(!("发件人的手机号(必填)").equals(hcell0Con17))

                 {hflat=1;System.out.println("发件人的手机号(必填)"+"||"+hcell0Con17);}

                 if(!("总运单即国外运单(必填)").equals(hcell0Con18))

                 {hflat=1;System.out.println("总运单即国外运单(必填)"+"||"+hcell0Con18);}

                 if(!("总运单标示(必填)").equals(hcell0Con19))

                 {hflat=1;System.out.println("总运单标示(必填)"+"||"+hcell0Con19);}

                 if(!("订单人姓名(必填)").equals(hcell0Con20))

                 {hflat=1;System.out.println("订单人姓名(必填)"+"||"+hcell0Con20);}

                 if(!("商品总数量(所有明细订单的总数量的总合)(必填)").equals(hcell0Con21))

                 {hflat=1;System.out.println("商品总数量(所有明细订单的总数量的总合)(必填)"+"||"+hcell0Con21);}

                 if(!("订单总金额(所有明细订单的总金额的总合)(必填)").equals(hcell0Con22))

                 {hflat=1;System.out.println("订单总金额(所有明细订单的总金额的总合)(必填)"+"||"+hcell0Con22);}

                 if(!("订单毛重(必填)").equals(hcell0Con23))

                 {hflat=1;System.out.println("订单毛重(必填)"+"||"+hcell0Con23);}

                 if(!("订单净重(可为空)").equals(hcell0Con24))

                 {hflat=1;System.out.println("订单净重(可为空)"+"||"+hcell0Con24);}

                 if(!("币制(请点击查询电子订单代码模板)(必填)").equals(hcell0Con25))

                 {hflat=1;System.out.println("币制(请点击查询电子订单代码模板)(必填)"+"||"+hcell0Con25);}

                 if(!("保价费币制(请点击查询电子订单代码模板(必填)").equals(hcell0Con26))

                 {hflat=1;System.out.println("保价费币制(请点击查询电子订单代码模板(必填)"+"||"+hcell0Con26);}

                 if(!("保价费(必填)").equals(hcell0Con27))

                 {hflat=1;System.out.println("保价费(必填)"+"||"+hcell0Con27);}

                 if(!("运费(必填)").equals(hcell0Con28))

                 {hflat=1;System.out.println("运费(必填)"+"||"+hcell0Con28);}

                 if(!("运费币制(请点击查询电子订单代码模板(必填)").equals(hcell0Con29))

                 {hflat=1;System.out.println("运费币制(请点击查询电子订单代码模板(必填)"+"||"+hcell0Con29);}

                 if(!("税款(必填)").equals(hcell0Con30))

                 {hflat=1;System.out.println("税款(必填)"+"||"+hcell0Con30);}

                 if(!("税款币制(请点击查询电子订单代码模板(必填)").equals(hcell0Con31))

                 {hflat=1;System.out.println("税款币制(请点击查询电子订单代码模板(必填)"+"||"+hcell0Con31);}

                 if(!("收件人详细地址(必填)").equals(hcell0Con32))

                 {hflat=1;System.out.println("收件人详细地址(必填)"+"||"+hcell0Con32);}

                 if(!("报关费用类型(必填)值为0或者1或者2").equals(hcell0Con33))

                 {hflat=1;System.out.println("报关费用类型(必填)值为0或者1或者2"+"||"+hcell0Con33);}

                //表头不正确提示进境电子清单信息表格格式不对,请您重新下载模板

                 if(hflat == 1) {

                     //flash.put("msg", "进境电子清单信息表格格式不对,请您重新下载模板");

                     request.setAttribute("errorMsg","电子信息表格格式不对,请您重新下载模板");

                     return INPUT;

                 }

                 判断进境电子清单商品信息必填项

                 String[] hebl =

                 {"订单编号(必须不存在的订单编号)(必填)|","企业运单编号(必填)|","订单的日期(必填)|","收货人代码(身份证)(必填)|","收货人名称(必填)|","收件人省(必填)|","收件人市(必填)|","收件人区(必填)|","收件人省市区代码(请点击查询电子订单代码模板)(必填)|",    "收件人电话(必填)|","运输方式代码(必填)|","包装种类代码(必填)|","    主要商品名称(必填)|","申请出仓日期(必填)|","发件人姓名(必填)|","发件人国家代码(必填)|","发件人地址(必填)|","发件人的手机号(必填)|","总运单即国外运单(必填)|","总运单标示(必填)|","订单人姓名(必填)|","商品总数量|","订单总金额(必填)|","订单毛重(必填)|","订单净重|","币制(必填)|","保价费币制(必填)|","保价费(必填)|","运费(必填)|","运费币制(必填)|","税款(必填)|","税款币制(必填)|","收件人详细地址(必填)|","报关费用类型(必填)值为0或者1或者2|"};

                 //判断进境电子清单商品信息列每行是否为空的标识

                 int ceblflat = 0;

                 //判断是否添加"进境电子清单商品信息:"标识

                 int ceblsflat = 0;

                 for(int j = 0; j < rs.getColumns()-1; j ++){

                     for(int i = 1; i < rs.getRows(); i ++) {

                     if(EncryptionUtil.judgeNull(rs.getCell(j, i).getContents())&&ceblflat == 0){

                     cflat = 1;ceblflat=1;

                     if(ceblsflat == 0) {

                         fmsg +="电子订单信息:";ceblsflat = 1;

                         }

                     fmsg += hebl[j];

                     System.out.println(i+"||"+j);

                     }

                     }

                     ceblflat = 0;

                     }

                     if(cflat == 1 ) {

                     fmsg += ",以上列有空值,请认真核查。";

                     request.setAttribute("errorMsg",fmsg);

                     return INPUT;

                     }

                int clos=rs.getColumns();//得到所有的列

                int rows=rs.getRows();//得到所有的行   

                Orders order=null;

                for (int i = 1; i < rows; i++) {

                    for (int j = 0; j < clos; j++) {

                        flags=true;

                        order=new Orders();

                        //第一个是列数,第二个是行数

                        //订单编号

                        String orderNo=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        Orders  orderss=orderSerice.getOrdersShow(orderNo,userId);

                        if(orderss!=null){

                            sbd.append("\r\n电子订单:第"+i+"行你所填写的订单编号"+orderNo+"当前用户已经存在添加失败.");

                            flags=false;

                        }

                        order.setOrderNo(orderNo);   

                        //企业运单编号

                        String businessWaybillNo=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(businessWaybillNo)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的企业运单编号不能为空,");

                            flags=false;

                        }else if(businessWaybillNo.length()>25){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的企业运单编号长度不能大于25位,");

                            flags=false;

                        }else{

                            order.setBusinessWaybillNo(businessWaybillNo);//默认最左边编号也算一列 所以这里得j++

                        }

                        //订单的日期(必填)

                        Date D_APPLY_DATE =null;                        

                        Cell cell9 = rs.getCell(j++, i);//

                        if (cell9.getType() == CellType.DATE) {

                            DateCell qy = (DateCell) cell9;

                            D_APPLY_DATE = qy.getDate();

                            Timestamp timestamp=new Timestamp(D_APPLY_DATE.getTime());

                            order.setLmportExportDate(timestamp);

                        }else{

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的订单的日期(必填)不能为空或格式不正常");

                            flags=false;

                        }

                        //收货人代码(必填)

                        String idNumber=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(idNumber)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的身份证(必填)不能为空.");

                            flags=false;

                        }else if(idNumber.length()<=30&&EncryptionUtil.isNum(idNumber)){

                            order.setIdNumber(idNumber);

                        }else{

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的身份证(必填)长度不能大于30值必须为数字类型.");

                            flags=false;

                        }

                        //收货人名称(必填)

                        String consignee=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(consignee)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的收货人名称(必填)不能为空,");

                            flags=false;

                        }else if(consignee.length()>25){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的收货人名称(必填)长度不能大于25位,");

                            flags=false;

                        }else{

                        order.setConsignee(consignee);

                        }

                        //收件人省(必填)

                        String province=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(province)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的收件人省(必填)不能为空,");

                            flags=false;

                        }else if(province.length()>9){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的收件人省(必填)长度不能大于9位,");

                            flags=false;

                        }else{

                        order.setProvince(province);

                        }

                        //报收件人市(必填)

                        String city=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(city)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的收件人市(必填)不能为空,");

                            flags=false;

                        }else if(city.length()>9){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的收件人市(必填)长度不能大于9位,");

                            flags=false;

                        }else{

                        order.setCity(city);

                        }

                        //收件人区

                        String area=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(area)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的收件人区不能为空,");

                            flags=false;

                        }else if(area.length()>9){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的收件人区长度不能大于10位,");

                            flags=false;

                        }else{

                            order.setArea(area);

                        }

                        //收件人省市区代码(必填)

                        String recipientProvince=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(platformAreaService.getPlatformArea(recipientProvince)==null){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的收件人省市区代码(必填)不存在,");

                            flags=false;

                        }else{

                        order.setRecipientProvince(recipientProvince);

                        }

                        //收件人电话

                        String recipientPhone=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(recipientPhone)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的收件人电话不能为空,");

                            flags=false;

                        }else if(recipientPhone.length()<=30&&EncryptionUtil.isNum(recipientPhone)){

                            order.setRecipientPhone(recipientPhone);

                        }else{

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的收件人电话长度不能大于30必须数字,");

                            flags=false;

                        }

                        //运输方式代码

                        String transportModeCode=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        TransportmodeCode transportmodeCodes=allCodeService.getTransportmodecode(transportModeCode);

                        if(transportmodeCodes==null){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的运输方式代码不存在");

                            flags=false;

                        }else{

                            order.setTransportModeCode(transportModeCode);

                            order.setTransportToolName(transportmodeCodes.getName());

                        }

                        //包装种类代码(必填)

                        String packageTypeCode=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(allCodeService.getPackingCode(packageTypeCode)==null){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的包装种类代码不存在");

                            flags=false;

                        }else{

                        order.setPackageTypeCode(packageTypeCode);

                        }

                        //主要商品名称(必填

                        String commodityName=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(commodityName)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的主要商品名称不能为空,");

                            flags=false;

                        }else if(commodityName.length()>20){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的主要商品名称长度不能大于20位,");

                            flags=false;

                        }else{

                            order.setCommodityName(commodityName);

                        }

                        //申请出仓日期

                        //String reportingDate=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        Date D_APPLY_DATES =null;                        

                        Cell cell10 = rs.getCell(j++, i);//

                        if (cell10.getType() == CellType.DATE) {

                            DateCell qy = (DateCell) cell10;

                            D_APPLY_DATES = qy.getDate();

                            Timestamp timestamp=new Timestamp(D_APPLY_DATES.getTime());

                            order.setReportingDate(timestamp);

                        }else{

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的申请出仓日期格式不正确");

                            flags=false;

                        }

                        //运输工具名称

                        //收发件人姓名

                        String senderName=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(senderName)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的发件人姓名不能为空,");

                            flags=false;

                        }else if(senderName.length()>25){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的发件人姓名长度不能大于25位,");

                            flags=false;

                        }else{

                        order.setSenderName(senderName);

                        }

                        //发件人国家代码

                        String senderCountry=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(allCodeService.getBgEcountrycode(senderCountry)==null){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的发件人国家代码不存在,");

                            flags=false;

                        }else{

                            order.setSenderCountry(senderCountry);

                        }

                        //发件人地址(必填)

                        String senderCity=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(senderCity)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的发件人地址不能为空,");

                            flags=false;

                        }else if(senderCity.length()>25){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的发件人地址长度不能大于25位,");

                            flags=false;

                        }else{

                        order.setSenderCity(senderCity);

                        }

                        //发件人的手机号

                        String senderCellPhone=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(senderCellPhone)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的发件人的手机号不能为空,");

                            flags=false;

                        }else if(senderCellPhone.length()>25){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的发件人的手机号长度不能大于25位,");

                            flags=false;

                        }else{

                        order.setSenderCellPhone(senderCellPhone);

                        }

                        //总运单即国外运单

                        String totalForeign=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(totalForeign)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的总运单即国外运单不能为空,");

                            flags=false;

                        }else if(totalForeign.length()>25){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的总运单即国外运单长度不能大于25位,");

                            flags=false;

                        }else{

                        order.setTotalForeign(totalForeign);

                        }

                        //总运单标示(必填)

                        String mawbNo=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(mawbNo)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的总运单标示不能为空,");

                            flags=false;

                        }else if(mawbNo.length()>25){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的总运单标示长度不能大于25位,");

                            flags=false;

                        }else{

                            order.setMawbNo(mawbNo);

                        }

                        //订单人姓名

                        String orderName=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(orderName)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的订单人姓名不能为空,");

                            flags=false;

                        }else if(orderName.length()>25){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的订单人姓名必须数字长度不能大于25位,");

                            flags=false;

                        }else{

                        order.setOrderName(orderName);

                        }

                        //商品总数量

                        String numberData=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(numberData)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的商品总数量不能为空,");

                            flags=false;

                        }else if(numberData.length()<=9&&EncryptionUtil.isNum(numberData)){

                            order.setNumberData(Integer.valueOf(numberData));

                        }else{

                        sbd.append("\r\n第"+i+"行"+j+"列你所填写的商品总数量必须数字长度不大于9位,");

                        flags=false;

                        }

                        //订单总金额

                        String payTatols=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(payTatols)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的订单总金额不能为空,");

                            flags=false;

                        }else if(payTatols.length()<=9&&EncryptionUtil.isNum(payTatols)){

                            order.setPayTatols(new BigDecimal(payTatols));

                        }else{

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的订单总金额必须数字长度不能大于9位,");

                            flags=false;

                        }

                        //运订单毛重

                        String grossWeight=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(grossWeight)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的订单毛重名称不能为空,");

                            flags=false;

                        }else if(grossWeight.length()<=9&&EncryptionUtil.isNum(grossWeight)){

                            order.setGrossWeight(new BigDecimal(grossWeight));

                        }else{

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的订单毛重名称长度不能大于9位值必须为数字类型,");

                            flags=false;

                        }

                        //订单净重

                        String netWeight=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(netWeight)){

                        }else if(netWeight.length()<=9&&EncryptionUtil.isNum(netWeight)){

                            order.setNetWeight(new BigDecimal(netWeight));

                        }else{

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的订单净重长度不能大于9位,");

                            flags=false;

                        }

                        //币制

                        String currency=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(allCodeService.getCurrencyCode(currency)==null){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的币制代码不存在,");

                            flags=false;

                        }else{

                            order.setCurrency(currency);

                        }

                        //保价费币制

                        String insuredCurrency=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(allCodeService.getCurrencyCode(insuredCurrency)==null){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的保价费币制代码不存在");

                            flags=false;

                        }else{

                            order.setInsuredCurrency(insuredCurrency);

                        }

                        //保价费

                        String insured=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(insured)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的保价费不能为空,");

                            flags=false;

                        }else if(insured.length()<=9&&EncryptionUtil.isNum(insured)){

                            order.setInsured(new BigDecimal(insured));    

                        }else{

                        sbd.append("\r\n第"+i+"行"+j+"列你所填写的保价费长度不能大于9位,必须为数字");

                        flags=false;

                        }

                        //运费

                        String  freight=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(freight)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的运费不能为空,");

                            flags=false;

                        }else if(freight.length()<=9&&EncryptionUtil.isNum(insured)){

                            order.setFreight(new BigDecimal(freight));

                        }else{

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的运费长度不能大于9位必须为数字,");

                            flags=false;

                        }

                        //运费币制

                        String freightCurrency=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(allCodeService.getCurrencyCode(freightCurrency)==null){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的运费币制不存在,");

                            flags=false;

                        }else{

                            order.setFreightCurrency(freightCurrency);

                        }

                        //税款

                        String tax=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(tax)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的税款不能为空,");

                            flags=false;

                        }else if(tax.length()<=9&&EncryptionUtil.isNum(tax)){

                            order.setTax(new BigDecimal(tax));

                        }else{

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的税款长度不能大于9位,必须为数字");

                            flags=false;

                        }

                        //税款币制

                        String taxCurrency=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(allCodeService.getCurrencyCode(taxCurrency)==null){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的税款币制代码不存在,");

                            flags=false;

                        }else{

                        order.setTaxCurrency(taxCurrency);

                        }

                        //收件人详细地址(必填)

                        String address=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(address)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的收件人详细地址不能为空,");

                            flags=false;

                        }else  if(address.length()>50){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的收件人详细地址长度不能大于50位,");

                            flags=false;

                        }else{

                            order.setAddress(address);

                        }

                        //报关费用类型

                        String customsFeesType=StringUtils.trimToEmpty(rs.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(customsFeesType)){

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的报关费用类型不能为空,");

                            flags=false;

                        }else if(customsFeesType.length()<=1&&EncryptionUtil.isNum(customsFeesType)){

                            if(Integer.valueOf(customsFeesType)>2){

                                sbd.append("\r\n第"+i+"行"+j+"列你所填写的报关费用类型值不能大于2,");

                                flags=false;

                            }else{

                            order.setCustomsFeesType(Integer.valueOf(customsFeesType));

                            }

                        }else{

                            sbd.append("\r\n第"+i+"行"+j+"列你所填写的报关费用类型不能为空长度不能大于1位值为数字类型,");

                            flags=false;

                        }

                        if(flags==false){

                            sbd.append("\r\n电子订单第"+i+"行添加失败.");

                            break;

                        }

                        order.setWhetherToPay(false);

                        order.setFlags(0);

                        order.setCustomsCode("5130");

                        order.setUserMarks(userId);

                        //取用户的名称用来生成系统的订单号用来支付

                        order.setSystemNo(orderSerice.getOrdersDataList(adminUsers.getUserLogin()));

                        //添加数据

                        if(orderSerice.addOrder(order)){

                            //添加总清单信息

                            GeneralList generalList=new GeneralList();

                            Orders orderData=orderSerice.getOrdersShow(order.getOrderNo(),userId);

                            generalList.setOrders(orderData);

                            generalList.setTatolNumber(order.getNumberData());

                            double  transitFee=0;            

                            BigDecimal sortingFees=new BigDecimal(0);

                            BigDecimal  tallyFees=new BigDecimal(0);

                            BigDecimal  transitFees=new BigDecimal(0);

                            BigDecimal totalPay=new BigDecimal(0);

                            if(order.getCustomsFeesType()==0){

                                transitFee=order.getNumberData()*11;//机场转关

                                transitFees=new BigDecimal(transitFee);//机场转关

                            }else if(order.getCustomsFeesType()==1){

                                sortingFees= order.getGrossWeight().multiply(new BigDecimal(0.5));//费拣线

                                transitFee=order.getNumberData()*11;//机场转关

                                transitFees=new BigDecimal(transitFee);//机场转关

                            }else if(order.getCustomsFeesType()==2){

                                tallyFees=order.getGrossWeight().multiply(new BigDecimal(2));;//理货费

                                sortingFees= order.getGrossWeight().multiply(new BigDecimal(0.5));//费拣线

                                transitFee=order.getNumberData()*11;//机场转关

                                transitFees=new BigDecimal(transitFee);//机场转关

                            }

                            totalPay=transitFees.add(sortingFees).add(tallyFees);

                            generalList.setTallyFee(tallyFees);

                            generalList.setSortingFee(sortingFees);

                            generalList.setTransitFee(transitFees);

                            generalList.setTotalPay(totalPay);

                            generalList.setTotalAmount(order.getPayTatols());

                            generalListService.addGeneralList(generalList);

                            sb.append("\r\n电子订单第"+i+"行添加成功.");

                        }else{

                            sbd.append("\r\n电子订单第"+i+"添加失败.");

                        }

                    }

                }

            }

            if(statas==2){

                Sheet rsData=rwb1.getSheet(0);//或者rwb.getSheet(0)

                String sheet0Names = StringUtils.trimToEmpty(rsData.getName());

                if(("OrderDetails").equals(sheet0Names)){

                 }else {

                     sbd.append("\r\n电子明细表头格式不对");

                 }

              //匹配进境电子清单信息表头

                 String items0= StringUtils.trimToEmpty(rsData.getCell(0,0).getContents());

                 String items1= StringUtils.trimToEmpty(rsData.getCell(1,0).getContents());                          

                 String items2= StringUtils.trimToEmpty(rsData.getCell(2,0).getContents());                          

                 String items3= StringUtils.trimToEmpty(rsData.getCell(3,0).getContents());                          

                 String items4= StringUtils.trimToEmpty(rsData.getCell(4,0).getContents());                         

                 String items5= StringUtils.trimToEmpty(rsData.getCell(5,0).getContents());                          

                 String items6= StringUtils.trimToEmpty(rsData.getCell(6,0).getContents());                          

                 String items7= StringUtils.trimToEmpty(rsData.getCell(7,0).getContents());                          

                 String items8= StringUtils.trimToEmpty(rsData.getCell(8,0).getContents());                          

                 String items9= StringUtils.trimToEmpty(rsData.getCell(9,0).getContents());

                 String items10= StringUtils.trimToEmpty(rsData.getCell(10,0).getContents());

                 String items11= StringUtils.trimToEmpty(rsData.getCell(11,0).getContents());

                 String items12= StringUtils.trimToEmpty(rsData.getCell(12,0).getContents());

                //判断表头是否有误

                 int hflats = 0;

                  if(!("订单编号(必须存在的订单号)(必填)").equals(items0))

                 {hflats=1;System.out.println("订单编号(必须存在的订单号)(必填)"+"||"+items0);}

                 if(!("商品类别(请点击查询备案号必填)(必填)").equals(items1))

                 {hflats=1;System.out.println("商品类型(请点击查询备案号必填)(必填)"+"||"+items1);}

                 if(!("申报计量单位代码(请点击查询计量单位必填)").equals(items2))

                 {hflats=1;System.out.println("申报计量单位代码(必填)"+"||"+items2);}

                 if(!("商品总数量(必填)").equals(items3))

                 {hflats=1;System.out.println("商品总数量(必填)"+"||"+items3);}

                 if(!("原产国(地区)代码(请点击查询代码)(必填)").equals(items4))

                 {hflats=1;System.out.println("原产国(地区)代码(请点击查询代码)(必填)"+"||"+items4);}

                 if(!("商品单价(必填)").equals(items5))

                 {hflats=1;System.out.println("商品单价(必填)"+"||"+items5);}

                 if(!("商品总价(必填)").equals(items6))

                 {hflats=1;System.out.println("商品总价(必填)"+"||"+items6);}

                 if(!("商品名称(必填)").equals(items7))

                 {hflats=1;System.out.println("商品名称(必填)"+"||"+items7);}

                 if(!("规格型号(必填)").equals(items8))

                 {hflats=1;System.out.println("规格型号(必填)"+"||"+items8);}

                 if(!("商品的净重(可为空)").equals(items9))

                 {hflats=1;System.out.println("商品的净重(可为空)"+"||"+items9);}

                 if(!("商品的毛重(公斤)(必填)").equals(items10))

                 {hflats=1;System.out.println("商品的毛重(公斤)(必填)"+"||"+items10);}

                 if(!("备案价格(查询电子订单代码模板)(必填)").equals(items11))

                 {hflats=1;System.out.println("备案价格(查询电子订单代码模板)(必填)"+"||"+items11);}

                 if(!("国检备案号(必填)").equals(items12))

                 {hflats=1;System.out.println("国检备案号(必填)"+"||"+items12);}

                //表头不正确提示进境电子清单信息表格格式不对,请您重新下载模板

                 if(hflats == 1) {

                     //flash.put("msg", "进境电子清单信息表格格式不对,请您重新下载模板");

                     sbd.append("\r\n电子订单明细表格格式不对");

                 }

                 //判断必填项标识

                 int cflatData = 0;

                 String fmsgData = "";

                 判断进境电子清单商品信息必填项

                 String[] hebls =

                 {"订单编号(必填)|","商品类型(必填)|","申报计量单位代码(必填)|","商品总数量(必填)|","原产国(地区)最终目的国(地区)代码(必填)|","商品单价(必填)|","商品总价(必填)|","商品名称(必填)|","规格型号(必填)|","商品的净重(可为空)|","商品的毛重(公斤)(必填)|","行邮税号(必填)|","备案价格(必填)|","国检备案号(必填)|"};

                 //判断进境电子清单商品信息列每行是否为空的标识

                 int ceblflats = 0;

                 //判断是否添加"进境电子清单商品信息:"标识

                 int ceblsflats = 0;

                 for(int j = 0; j < rsData.getColumns()-1; j ++){

                     for(int i = 1; i < rsData.getRows(); i ++) {

                     if(EncryptionUtil.judgeNull(rsData.getCell(j, i).getContents())&&ceblflats == 0){

                     cflat = 1;ceblflats=1;

                     if(ceblsflats == 0) {

                         fmsg +=" \r\n电子订单明细表信息:";ceblsflats = 1;

                         }

                     fmsg += hebls[j];

                     System.out.println(i+"||"+j);

                     }

                     }

                     ceblflats = 0;

                     }

                     if(cflat == 1 ) {

                     fmsg += ",以上列有空值,请认真核查。";

                     sbd.append(fmsg);

                     System.out.println(fmsg);

                     //request.setAttribute("errorMsg",fmsg);

                     }

                int closs=rsData.getColumns();//得到所有的列

                int rowss=rsData.getRows();//得到所有的行   

                System.out.println(closs+" rows:"+rowss);

                OrderItem orderItem=null;

                for (int i = 1; i < rowss; i++) {

                    for (int j = 0; j < closs; j++) {

                        flags=true;

                        orderItem=new OrderItem();

                          //订单编号

                        String orderNo=StringUtils.trimToEmpty(rsData.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(orderNo)){

                            sbd.append("\r\n电子订单明细:"+i+"行你所填写的订单编号不能为空.");

                            flags=false;

                        }else if(orderNo.length()>25){

                            sbd.append("\r\n电子订单明细:"+i+"行你所填写的订单编号,长度不能大于25位添加失败.");

                            flags=false;

                        }

                        Orders  orderss=orderSerice.getOrdersShow(orderNo,userId);

                        if(orderss==null){

                            sbd.append("\r\n电子订单明细:"+i+"行你所填写的订单编号在当前用户不存在添加失败.");

                            flags=false;

                        }

                        orderItem.setOrders(orderss);

                        //商品类型

                        String commodityNumber=StringUtils.trimToEmpty(rsData.getCell(j++, i).getContents());

                        if(allCodeService.getBgEbilllist(commodityNumber)==null){

                            sbd.append("\r\n第"+i+"行你所填写的商品类别不存在,");

                            flags=false;

                        }else{

                        orderItem.setCommodityNumber(commodityNumber);

                        orderItem.setParcelNumber(commodityNumber);

                        }

                        //申报计量单位代码

                        String declareCode=StringUtils.trimToEmpty(rsData.getCell(j++, i).getContents());

                        if(allCodeService.getMeasureMentUnit(declareCode)==null){

                            sbd.append("\r\n第"+i+"行你所填写的申报计量单位代码不存在");

                            flags=false;

                        }else{

                        orderItem.setDeclareCode(declareCode);//申报计量单位(必填)

                        }

                        //商品总数量

                        String numberOfDeclarations=StringUtils.trimToEmpty(rsData.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(numberOfDeclarations)){

                            sbd.append("\r\n第"+i+"行你所填写的申报数量不能为空,");

                            flags=false;

                        }else if(numberOfDeclarations.length()<=9&&EncryptionUtil.isNum(numberOfDeclarations)){

                            orderItem.setNumberOfDeclarations(Integer.valueOf(numberOfDeclarations));//申报数量(必填)

                        }else{

                            sbd.append("\r\n第"+i+"行你所填写的申报数量长度不能大于9位,必须为数字。");

                            flags=false;

                        }

                        //原产国

                        String countryOfOrigin=StringUtils.trimToEmpty(rsData.getCell(j++, i).getContents());

                        if(allCodeService.getBgEcountrycode(countryOfOrigin)==null){

                            sbd.append("\r\n第"+i+"行你所填写的原产国不存在");

                            flags=false;

                        }else{

                        orderItem.setCountryOfOrigin(countryOfOrigin);//原产国(地区)/最终目的国(地区)代码(必填)

                        }

                        //商品单价

                        String commodityUnitPrice=StringUtils.trimToEmpty(rsData.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(commodityUnitPrice)){

                            sbd.append("\r\n第"+i+"行你所填写的商品单价不能为空,");

                            flags=false;

                        }else if(commodityUnitPrice.length()<=9&&EncryptionUtil.isNum(commodityUnitPrice)){

                            orderItem.setCommodityUnitPrice(new BigDecimal(commodityUnitPrice));//商品单价(必填)

                        }else{

                            sbd.append("\r\n第"+i+"行你所填写的商品单价,长度不能大于9位,必须为数字");

                            flags=false;

                        }

                        //商品总价

                        String commodityPrice=StringUtils.trimToEmpty(rsData.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(commodityPrice)){

                            sbd.append("\r\n第"+i+"行你所填写的商品总价不能为空,");

                            flags=false;

                        }else if(commodityPrice.length()<=9&&EncryptionUtil.isNum(commodityPrice)){

                            orderItem.setCommodityPrice(new BigDecimal(commodityPrice));//商品总价(必填)

                        }else{

                            sbd.append("\r\n第"+i+"行你所填写的商品总价,长度不能大于9位,必须为数字");

                            flags=false;

                        }

                        //商品名称

                        String commodityName=StringUtils.trimToEmpty(rsData.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(commodityName)){

                            sbd.append("\r\n第"+i+"行你所填写的商品名称不能为空.");

                            flags=false;

                        }else if(commodityName.length()>25){

                            sbd.append("\r\n第"+i+"行你所填写的商品名称长度不能大于25位.");

                            flags=false;

                        }else{

                            orderItem.setCommodityName(commodityName);//商品名称(必填)

                        }

                        //规格型号

                        String specificationModel=StringUtils.trimToEmpty(rsData.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(specificationModel)){

                            sbd.append("\r\n第"+i+"行你所填写的规格型号不能为空.");

                            flags=false;

                        }else if(specificationModel.length()>25){

                            sbd.append("\r\n第"+i+"行你所填写的规格型号,长度不能大于25位.");

                            flags=false;

                        }else{

                        orderItem.setSpecificationModel(specificationModel);//规格型号(必填)

                        }

                        //净重

                        String weight=StringUtils.trimToEmpty(rsData.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(weight)){

                        }else if(weight.length()<=9&&EncryptionUtil.isNum(weight)){

                                orderItem.setWeight(new BigDecimal(weight));//重量(公斤)(必填)

                        }else{

                            sbd.append("\r\n第"+i+"行你所填写的重量长度不能大于9位,必须为数字");

                            flags=false;

                        }

                        //毛重

                        String grossWeight=StringUtils.trimToEmpty(rsData.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(grossWeight)){

                            sbd.append("\r\n第"+i+"行你所填写的毛重不能为空,");

                            flags=false;

                        }else if(grossWeight.length()<=9&&EncryptionUtil.isNum(grossWeight)){

                            orderItem.setGrossWeight(new BigDecimal(grossWeight));//重量(公斤)(必填)

                        }else{

                            sbd.append("\r\n第"+i+"行你所填写的毛重长度不能大于9位,必须为数字。");

                            flags=false;

                        }

                        //行邮税号(必填)

                        //备案价格

                        String recordPrices=StringUtils.trimToEmpty(rsData.getCell(j++, i).getContents());

                        if(StringUtils.isEmpty(recordPrices)){

                            sbd.append("\r\n第"+i+"行你所填写的毛重不能为空.");

                            flags=false;

                        }else if(recordPrices.length()<=9&&EncryptionUtil.isNum(recordPrices)){

                            orderItem.setRecordPrices(new BigDecimal(recordPrices));//重量(公斤)(必填)

                        }else{

                            sbd.append("\r\n第"+i+"行你所填写的毛重长度不能大于9位,必须为数字");

                            flags=false;

                        }

                        //国检备案号

                        String ciqNo=StringUtils.trimToEmpty(rsData.getCell(j++,i).getContents());

                        if(StringUtils.isEmpty(ciqNo)){

                            sbd.append("\r\n第"+i+"行你所填写的国检备案号不能为空.");

                            flags=false;

                        }else if(ciqNo.length()<=25){

                            orderItem.setCiqNo(ciqNo);

                        }else{

                            sbd.append("\r\n第"+i+"行你所填写的国检备案号长度不能大于25.");

                            flags=false;

                        }

                        //商品条形码

                        String filingNumber=StringUtils.trimToEmpty(rsData.getCell(j++,i).getContents());

                        OrderItem orderItems=orderItemService.findByfilingNumberData(filingNumber);

                        if(StringUtils.isEmpty(filingNumber)){

                            sbd.append("\r\n第"+i+"行你所填写的条形码不能为空.");

                            flags=false;

                        }else if(filingNumber.length()<=25&&orderItems==null){

                            orderItem.setFilingNumber(filingNumber);

                        }else{

                            sbd.append("\r\n第"+i+"行你所填写的条形码长度不能大于25,或者条形码已经存在.");

                            flags=false;

                        }

                        if(flags==false){

                            sbd.append("\r\n电子订单明细第"+i+"行添加失败.");

                            break;

                        }

                        //添加数据

                        if(orderItemService.addOrderItem(orderItem)){    

                            sb.append("\r\n电子订单明细:第"+i+"行添加成功.");

                        }else{

                            sbd.append("\r\n电子订单明细第"+i+"行添加失败.");

                        }

                    }

                }

            }

                if(StringUtils.isNotBlank(sbd.toString())){

                    request.setAttribute("errorMsg","批量操作,请查看下载的日志log.txt文件");

                    File file=new File("添加数据的日志文件信息.txt");

                    FileWriter fw = new FileWriter(file);

                    if (file.exists()) {

                        //文件存在,就写数据进去。

                            fw.write(sbd.toString()+"\r\n"+sb.toString());

                    }else{

                        //文件不存在就创建

                        file.createNewFile();

                        fw.write(sbd.toString()+"\r\n"+sb.toString());

                    }

                    fw.flush();

                    fw.close();

                    DownLoad.buildExcel(request, response, file,sbd.length()+sb.length());

                    return null;

                }

                if(StringUtils.isNotBlank(sb.toString())){

                    request.setAttribute("errorMsg","批量操作,请查看下载的日志log.txt文件");

                    File file=new File("添加数据的日志文件信息.txt");

                    FileWriter fw = new FileWriter(file);

                    if (file.exists()) {

                        //文件存在,就写数据进去。

                            fw.write(sbd.toString()+"\r\n"+sb.toString());

                    }else{

                        //文件不存在就创建

                        file.createNewFile();

                        fw.write(sbd.toString()+"\r\n"+sb.toString());

                    }

                    fw.flush();

                    fw.close();

                    DownLoad.buildExcel(request, response, file,sbd.length()+sb.length());

                    return null;

                }

            } catch (Exception e) {

                 request.setAttribute("errorMsg", "添加异常");

        }

        return SUCCESS;

    }

jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<%@ taglib uri="/struts-tags" prefix="s"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:>

<head>

    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

    <meta http-equiv="pragma" content="no-cache">

    <meta http-equiv="cache-control" content="no-cache">

    <meta http-equiv="expires" content="0">    

    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

    <meta http-equiv="description" content="This is my page">

    <title>电子订单-批量上传</title>

    <link href="<%=basePath %>css/style.css" target="_blank" rel="external nofollow" rel="stylesheet" type="text/css" />

    <script src="<%=basePath %>js/jquery-1.8.3.js"></script>

    <script type="<%=basePath %>javascript"></script>

    <script type="text/javascript">

        function signOut(){

            document.location=""+$("#basePaths").val()+"signOut.action";

        }

    </script>

</head>

<body>

    <!--头部开始-->

    <div class="head-box">

        <div class="head">

            <div class="logo">

                <a href="<%=basePath%>index.jsp>

                    <img src=" target="_blank" rel="external nofollow" <%=basePath%>images/head/logo.png"></a>

            </div>

            <div class="head-admin">

                您好, <i class="logo-admin"><s:property value="#session.admin.userLogin"/></i> <i class="logo-quit">!【

                    <a href="javascript:void(0);" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" οnclick="signOut();">退出</a>

                    】</i>

            </div>

            <div class="logo-small">

                <a href="javascript:void(0);" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" title="新银河世纪">

                    <div  class="new-xyh"></div>

                </a>

                <a href="javascript:void(0);" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" title="报关易">

                    <div  class="new-yi"></div>

                </a>

                <a href="javascript:void(0);" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" title="银河购">

                    <div  class="new-gou"></div>

                </a>

                <a href="javascript:void(0);" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" title="物流通">

                    <div  class="new-wu"></div>

                </a>

            </div>

            <div class="border"></div>

            <div class="nav">

                <ul>

                    <li class="">

                        <a href="<%=basePath%>index.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >首页</a>

                    </li>

                    <li class="dlbg curr">

                        <a href="<%=basePath%>order/orderManualinput.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >代理报关</a>

                    </li>

                    <li class="wdbg">

                        <a href="<%=basePath %>customsClearance/customsClearance.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >我的报关</a>

                    </li>

                    <li class="lxwm">

                        <a href="<%=basePath %>help/about.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >联系我们</a>

                    </li>

                </ul>

            </div>

        </div>

    </div>

    <div class="header-border"></div>

    <div class="order-bg">

        <div class="position-box">

            <div class="position">

                <span >当前位置:</span>

                <span>

                    <a href="<%=basePath%>index.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >首页</a>

                    &gt;

                </span>

                <span>

                    <a href="<%=basePath%>order/orderManualinput.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >代理报关</a>

                    &gt;

                </span>

                <span>

                    <a href="<%=basePath%>order/orderManualinput.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >电子订单</a>

                </span>

            </div>

        </div>

        <div class="main-box">

            <div class="main">

                <div class="order-left">

                    <div class="left-electronicorder curr">

                        <a href="<%=basePath%>order/orderManualinput.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >电子订单</a>

                    </div>

                    <div class="left-electronicorder">

                        <a href="<%=basePath%>order/orderPayment.jsp" target="_blank" rel="external nofollow" >支付单</a>

                    </div>

                    <div class="left-electronicorder">

                        <a href="<%=basePath%>order/filingNumber.jsp" target="_blank" rel="external nofollow" >商品备案</a>

                    </div>

                    <div class="left-electronicorder">

                        <a href="<%=basePath%>order/orderReportForm.jsp" target="_blank" rel="external nofollow" >报关统计报表</a>

                    </div>

                </div>

                <!--右边开始-->

                <div class="order-right">

                    <div class="right-top">

                        <a href="<%=basePath%>order/orderManualinput.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >

                            <div class="right-top1">手动录入</div>

                        </a>

                        <a href="<%=basePath%>order/orderBulkupload.jsp" target="_blank" rel="external nofollow" >

                            <div class="right-top2 right-top2curr">批量上传</div>

                        </a>

                        <a href="<%=basePath%>order/orderQuery.jsp" target="_blank" rel="external nofollow" >

                            <div class="right-top4">订单查询</div>

                        </a>

                    </div>

                    <div class="right-border"></div>

                    <div class="right-bkupload" style="height: 200px">

                    <form id="addOrderUpdateFormId" name="addOrderUpdateForm" action="<%=basePath %>addImportOrderExcelData.action" enctype="multipart/form-data" method="post">

                        <div class="bkupload-left">

                            <div class="title">上传进境电子清单信息数据</div>

                            <div class="bkupload-ipt">

                                <input type='text' name='textfield' id='textfield' class='txt' />

                                <input type='hidden' name='statas' id='statas' class='txt' value='3' />

                                <input type='button' class='btn' value='浏览...' />

                                <input type="file" name="file" class="file" id="fileField" size="28" οnchange="document.getElementById('textfield').value=this.value" />

                            </div>

                            <div class="bkupload-sub">

                                <input type="button" value="上传" class="bkupload-sub1" οnclick="addOrderUpdate();"/>

                            </div>

                            <input  type="hidden"   id="basePaths" value="<%=basePath %>"/>

                        </div>

                        </form>

                        <div class="bkupload-mid"></div>

                        <div class="bkupload-right">

                            <div class="title">下载进境电子清单信息模板     </div> <a href="<%=basePath %>help/dataDownload.jsp" target="_blank" rel="external nofollow" >电子订单代码下载</a>

                            <div class="bkupload-rightsub">

                                <a href="<%=basePath %>file/Detailedlist.xls" target="_blank" rel="external nofollow" class="bkupload-rightsub1" style="display: block;text-align: center;line-height: 30px;">订单模板下载</a>

                                <br/>

                                <a href="<%=basePath %>file/OrderDetails.xls" target="_blank" rel="external nofollow" class="bkupload-rightsub1" style="display: block;text-align: center;line-height: 30px;">明细模板下载</a>

                            </div>

                        </div>

                    </div>

                </div>

            </div>

        </div>

    </div>

    <div class="foot-box">

        <div class="foot">

            <div class="copy">Copyright©2015 广东新银河世纪集团 All Rights Reserved. 粤ICP备1236548</div>

            <div class="foot-nav">

                <ul>

                    <li>

                        <a href="<%=basePath%>index.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >首页</a>

                    </li>

                    <li>/</li>

                    <li>

                        <a href="<%=basePath%>order/orderManualinput.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >代理报关</a>

                    </li>

                    <li>/</li>

                    <li>

                        <a href="<%=basePath %>customsClearance/customsClearance.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >我的报关</a>

                    </li>

                    <li>/</li>

                    <li>

                        <a href="<%=basePath %>help/about.jsp" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >联系我们</a>

                    </li>

                </ul>

            </div>

        </div>

    </div>

</body>

<script type="text/javascript">

                     var errorMsg='${errorMsg }';

                         if(errorMsg!=null){

                             if(errorMsg!=""){

                                 alert(errorMsg);

                                 errorMsg="";

                             }

                         }

                 function addOrderUpdate(){

                 var urlNextPage=""+$("#basePaths").val()+"/importOrderExcelData.action";

                 var billFile = document.getElementById("textfield").value;

                 var files=billFile.substring(0,8);  

                   if(billFile == ""){

                   alert("请选择电子订单信息数据文件");

                   return false;

                   }

                   if(files=="Detailed"){

                           $("#statas").val("1");

                           document.forms["addOrderUpdateForm"].submit();

                   }else if(files=="OrderDet"){

                           $("#statas").val("2");

                           document.forms["addOrderUpdateForm"].submit();

                   }else{

                           alert("模板不正确请重新下载");

                   }

                   }

                 </script>   

</html>

继续阅读