• kotlin下面的导出 代码


     /**
         * 增值税表:导出功能
         * @param  billingYear
         *                年份
         *  @param  billingMonth
         *                月份
         *  @param  coreEnterpriseId
         *                核心企业
         */
        fun export(iwebReq: IwebReq, coreEnterpriseId:String ? , billingYear:String?, billingMonth: String?  ): String? {
            var dbp = DbPro.use(iwebReq.dsName)
            // 查询符合条件的数据SQL
            var select= """
                        SELECT
                            id,
                            CONVERT(billing_year, char) AS billing_year,
                            billing_month,
                            core_enterprise_id,
                            assets_trusteeship_income,
                            account_receivable,
                            billing_amount,
                            tax_amount,
                            total_amount,
                            service_fee_income,
                            asset_custody_income,
                            service_charge_income,
                            input_tax,
                            transfer_input_tax,
                            real_payment
                        """
            var from="""
                        FROM
                            biz_value_added_tax_info a
                        WHERE
                            sys_status = 1
                      """
            var paras = mutableListOf<Any>()
    
            //核心企业
            if(StringUtils.notBlank(coreEnterpriseId)  ){
                from += " AND a.core_enterprise_id = ? "
                var  coreEnterpriseId="${coreEnterpriseId?.trim()}"
                paras.add(coreEnterpriseId)
            }
            //年份
            if(StringUtils.notBlank(billingYear) ){
                from += " AND a.billing_year = ? "
                var years="${billingYear?.trim()}"
                paras.add(years)
            }
            //月份
            if(StringUtils.notBlank(billingMonth) ){
                from += " AND a.billing_month = ? "
                var mouths = "${billingMonth?.trim()}"
                paras.add(mouths.trim())
            }
            //获取付款单信息列表
            var IncomeInfoList  = dbp.find(select+from,*paras.toTypedArray<Any>())
    
            //把上面的年月核心企业作为条件查询
            for (record  in IncomeInfoList){
                //未做完
                record.set("deductionMoney","") //抵扣金额
                record.set("costTax","") //成本里面的税额
                record.set("differenceTax","") //成本里面的差额
                record.set("outputTax","") //销项税:税额-抵扣金额
                record.set("VATPayable","") //应交增值税:销项税+资产托管收入销项+服务费收入销项-进项税+进项税转出
            }
    
            if (IncomeInfoList!!.size == 0) {
                AssertUtils.isTrue(false, "没有对应的增值数据,导出失败!")
            }
    
            // 导出对象
            var workbook = XSSFWorkbook()
            val date = SimpleDateFormat("yyyyMMddHHmmss").format(java.util.Date())
            val fileName = "增值税表"+date+".xlsx"
    
            var savePath = QhyffsEvnironment.me().generatePath+File.separator+"增值税"
    
            val save = File(savePath)
            if (!save.exists() && !save.isDirectory()) {
                save.mkdirs()
            }
            // 输出流
            savePath = savePath  +File.separator+  fileName
            val fout = FileOutputStream(savePath)
    
            // 创建增值税sheet名称
            val sheetPay = workbook.createSheet("增值税")
            // 设置冻结行列
            sheetPay.createFreezePane(0, 2, 0, 2)
    
            // 设置增值税信息筛选
    //        val payChoose = CellRangeAddress.valueOf("A1:T1")
    //        sheetPay.setAutoFilter(payChoose)
    
            // 定义增值税sheet表头
            //第一行
            val headPayArrOne = arrayOf("时间","", "收入","","","","","","", "成本","","", "差额", "销项税", "增值税")
    
            // 单元格
            var headPayCell: XSSFCell? = null
            val style = workbook.createCellStyle()
            // 表头样式设置
            style.setBorderBottom(XSSFCellStyle.BORDER_THIN)
            style.setBorderLeft(XSSFCellStyle.BORDER_THIN)
            style.setBorderTop(XSSFCellStyle.BORDER_THIN)
            style.setBorderRight(XSSFCellStyle.BORDER_THIN)
            // 设置背景色
            style.setFillForegroundColor(XSSFColor(Color(216, 216, 216)))
            style.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND)
    
            style.setAlignment(HSSFCellStyle.ALIGN_CENTER) // 水平居中
            style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER)//垂直居中
    
            // 设置表头字体
            val headFont = workbook.createFont()
            // 字体样式
            headFont.setFontName("宋体")
            // 字体大小
            headFont.setFontHeightInPoints(9.toShort())
            // 加粗
            headFont.setBold(true)
            style.setFont(headFont)
    
            // 设置表头
            //第一行
            val headPayRowOne = sheetPay.createRow(0)
    
            //创建合并单元列
            var regionOne  = CellRangeAddress(0, 0, 0, 1)
            var regionTwo = CellRangeAddress(0, 0, 2, 8)
            var regionFour = CellRangeAddress(0, 0, 9, 11)
            var regionFive = CellRangeAddress(0, 0, 12, 12)
            var regionSix = CellRangeAddress(0, 0, 13, 13)
            var regionSeven = CellRangeAddress(0, 0, 14, 19)
    
            //在sheet里增加合并单元格
            sheetPay.addMergedRegion(regionOne)
            sheetPay.addMergedRegion(regionTwo)
            sheetPay.addMergedRegion(regionFour)
            sheetPay.addMergedRegion(regionFive)
            sheetPay.addMergedRegion(regionSix)
            sheetPay.addMergedRegion(regionSeven)
    
    
            // 写入增值税表头 第一行的
            for (x in headPayArrOne.indices ) {
                sheetPay.autoSizeColumn(x)
                headPayCell = headPayRowOne.createCell(x)
                headPayCell!!.setCellValue(headPayArrOne[x])
                headPayCell!!.setCellStyle(style)
            }
    
            //第二行
            val headPayRow = sheetPay.createRow(1)
            //第二行
            val headPayArr = arrayOf("开票年","开票月","核心企业","保理金额","开票金额","税额","价税合计","资产托管收入","服务费收入","抵扣价税合计","抵扣金额","税额",
                    "差额","销税额","资产托管收入销项","服务费收入销项","进项税","进项税转出","应交增值税","实缴")
    
            // 写入增值税表头 第二行的
            for (i in headPayArr.indices) {
                sheetPay.autoSizeColumn(i)
                headPayCell = headPayRow.createCell(i)
                headPayCell!!.setCellValue(headPayArr[i])
                headPayCell!!.setCellStyle(style)
            }
    
    
            // 增值税sheet列宽设置
            sheetPay.setColumnWidth(0, 30 * 256)// 开票年
            sheetPay.setColumnWidth(1, 30 * 256)// 开票月
            sheetPay.setColumnWidth(2, 30 * 256)// 核心企业
            sheetPay.setColumnWidth(3, 30 * 256)// 保理金额
            sheetPay.setColumnWidth(4, 30 * 256)// 开票金额
            sheetPay.setColumnWidth(5, 30 * 256)// 税额
            sheetPay.setColumnWidth(6, 30 * 256)// 价税合计
            sheetPay.setColumnWidth(7, 30 * 256)// 资产托管收入
            sheetPay.setColumnWidth(8, 30 * 256)// 服务费收入
            sheetPay.setColumnWidth(9, 30 * 256)// 抵扣价税合计
            sheetPay.setColumnWidth(10, 30 * 256)// 抵扣金额
            sheetPay.setColumnWidth(11, 30 * 256)// 税额
            sheetPay.setColumnWidth(12, 30 * 256)// 差额
            sheetPay.setColumnWidth(13, 30 * 256)// 销税额
            sheetPay.setColumnWidth(14, 30 * 256)// 资产托管收入销项
            sheetPay.setColumnWidth(15, 30 * 256)// 服务费收入销项
            sheetPay.setColumnWidth(16, 30 * 256)// 进项税
            sheetPay.setColumnWidth(17, 30 * 256)// 进项税转出
            sheetPay.setColumnWidth(18, 30 * 256)// 应交增值税
            sheetPay.setColumnWidth(19, 30 * 256)// 实缴
    
    
    
            // 设置单元格样式
            val cellStyle = workbook.createCellStyle()
            // 边框
            cellStyle.setBorderBottom(XSSFCellStyle.BORDER_THIN)
            cellStyle.setBorderLeft(XSSFCellStyle.BORDER_THIN)
            cellStyle.setBorderTop(XSSFCellStyle.BORDER_THIN)
            cellStyle.setBorderRight(XSSFCellStyle.BORDER_THIN)
            // 内容换行
            cellStyle.setWrapText(true)
            // 垂直居中
            cellStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER)
            // 设置单元格字体
            val font = workbook.createFont()
            // 字体样式
            font.setFontName("微软雅黑")
            // 字体大小
            font.setFontHeightInPoints(9.toShort())
            cellStyle.setFont(font)
            // 加粗
            var cellPay: XSSFCell? = null
            var rowPay: XSSFRow? = null
            var i = 1
            // 查询结果不为空
            for (recordPay in IncomeInfoList) {
    
                // 开票年 billing_year   0---4
                val billingYear = recordPay.get<String>("billingYear")
                // 开票月 billing_month  billingMonth
                val billingMonth = recordPay.getInt("billingMonth").toString()
                // 核心企业 core_enterprise_id  coreEnterpriseId
                val coreEnterpriseId = recordPay.get<String>("coreEnterpriseId")
                // 对核心企业的处理
                var coreEnterpriseName = ""
                if (coreEnterpriseId.equals("c1001")){
                    coreEnterpriseName = "万科"
                }else if (coreEnterpriseId.equals("c1002")){
                    coreEnterpriseName = "华润"
                }else if (coreEnterpriseId.equals("c1003")){
                    coreEnterpriseName = "碧桂园"
                }else if (coreEnterpriseId.equals("c1004")){
                    coreEnterpriseName = "富力"
                }else if (coreEnterpriseId.equals("c1005")){
                    coreEnterpriseName = "红星美凯龙"
                }else if (coreEnterpriseId.equals("c1006")){
                    coreEnterpriseName = "金茂"
                }else if (coreEnterpriseId.equals("c1008")){
                    coreEnterpriseName = "绿城"
                }else if (coreEnterpriseId.equals("c1011")){
                    coreEnterpriseName = "金地"
                }else if (coreEnterpriseId.equals("c1012")){
                    coreEnterpriseName = "合景泰富"
                }else if (coreEnterpriseId.equals("c1013")){
                    coreEnterpriseName = "金融街"
                }
    
                // 保理金额  accountReceivable
                val accountReceivable = recordPay.getBigDecimal("accountReceivable").toString()
                // 开票金额  billingAmount
                val billingAmount = recordPay.getBigDecimal("billingAmount").toString()
    
                //税额 5--9  taxAmount
                val taxAmount = recordPay.getBigDecimal("taxAmount").toString()
                // 价税合计  totalAmount
                val totalAmount = recordPay.getBigDecimal("totalAmount").toString()
                // 资产托管收入  assetsTrusteeshipIncome
                val assetsTrusteeshipIncome = recordPay.getBigDecimal("assetsTrusteeshipIncome").toString()
                // 服务费收入  serviceFeeIncome
                val serviceFeeIncome = recordPay.getBigDecimal("serviceFeeIncome").toString()
                // 抵扣价税合计  抵扣价税合计
                val 抵扣价税合计 = recordPay.get<String>("")
    
                // 抵扣金额 10--14  deductionMoney
                val deductionMoney = recordPay.get<String>("deductionMoney")
                // 税额  costTax
                val costTax = recordPay.get<String>("costTax")
                //差额  differenceTax
                val differenceTax = recordPay.get<String>("differenceTax")
                // 销税额  outputTax
                val outputTax = recordPay.get<String>("outputTax")
                // 资产托管收入销项  assetCustodyIncome
                val assetCustodyIncome = recordPay.getBigDecimal("assetCustodyIncome").toString()
    
                // 服务费收入销项  15--19   serviceChargeIncome
                val serviceChargeIncome = recordPay.getBigDecimal("serviceChargeIncome").toString()
                // 进项税  inputTax
                val inputTax = recordPay.getBigDecimal("inputTax").toString()
                // 进项税转出   transferInputTax
                val transferInputTax = recordPay.getBigDecimal("transferInputTax").toString()
                // 应交增值税   VATPayable
                val VATPayable = recordPay.get<String>("VATPayable")
                // 实缴   realPayment
                val realPayment = recordPay.getBigDecimal("realPayment").toString()
    
                // 对各元素设值
                // 创建表头
                //从第三行开始,下标从0开始算
                rowPay = sheetPay.createRow(i+1)
                rowPay!!.setHeightInPoints(25f)
                // 开票年 billing_year
                cellPay = rowPay!!.createCell(0)
                cellPay!!.setCellValue(billingYear)
                cellPay!!.setCellStyle(cellStyle)
                // 开票月 billing_month  billingMonth
                cellPay = rowPay!!.createCell(1)
                cellPay!!.setCellValue(billingMonth)
                cellPay!!.setCellStyle(cellStyle)
                // 核心企业 core_enterprise_id  coreEnterpriseId
                cellPay = rowPay!!.createCell(2)
                cellPay!!.setCellValue(coreEnterpriseName)
                cellPay!!.setCellStyle(cellStyle)
                // 保理金额  accountReceivable
                cellPay = rowPay!!.createCell(3)
                cellPay!!.setCellValue(accountReceivable)
                cellPay!!.setCellStyle(cellStyle)
                // 开票金额  billingAmount
                cellPay = rowPay!!.createCell(4)
                cellPay!!.setCellValue(billingAmount)
                cellPay!!.setCellStyle(cellStyle)
                //税额 6--10  taxAmount
                cellPay = rowPay!!.createCell(5)
                cellPay!!.setCellValue(taxAmount)
                cellPay!!.setCellStyle(cellStyle)
                // 价税合计  totalAmount
                cellPay = rowPay!!.createCell(6)
                cellPay!!.setCellValue(totalAmount)
                cellPay!!.setCellStyle(cellStyle)
                // 资产托管收入  assetsTrusteeshipIncome
                cellPay = rowPay!!.createCell(7)
                cellPay!!.setCellValue(assetsTrusteeshipIncome)
                cellPay!!.setCellStyle(cellStyle)
                // 服务费收入  serviceFeeIncome
                cellPay = rowPay!!.createCell(8)
                cellPay!!.setCellValue(serviceFeeIncome)
                cellPay!!.setCellStyle(cellStyle)
                // 抵扣价税合计  抵扣价税合计
                cellPay = rowPay!!.createCell(9)
                cellPay!!.setCellValue(抵扣价税合计)
                cellPay!!.setCellStyle(cellStyle)
                // 抵扣金额 11--15  deductionMoney
                cellPay = rowPay!!.createCell(10)
                cellPay!!.setCellValue(deductionMoney)
                cellPay!!.setCellStyle(cellStyle)
                // 税额  costTax
                cellPay = rowPay!!.createCell(11)
                cellPay!!.setCellValue(costTax)
                cellPay!!.setCellStyle(cellStyle)
                // 差额  differenceTax
                cellPay = rowPay!!.createCell(12)
                cellPay!!.setCellValue(differenceTax)
                cellPay!!.setCellStyle(cellStyle)
                // 销税额  outputTax
                cellPay = rowPay!!.createCell(13)
                cellPay!!.setCellValue(outputTax)
                cellPay!!.setCellStyle(cellStyle)
                // 资产托管收入销项  assetCustodyIncome
                cellPay = rowPay!!.createCell(14)
                cellPay!!.setCellValue(assetCustodyIncome)
                cellPay!!.setCellStyle(cellStyle)
                // 服务费收入销项  16--20   serviceChargeIncome
                cellPay = rowPay!!.createCell(15)
                cellPay!!.setCellValue(serviceChargeIncome)
                cellPay!!.setCellStyle(cellStyle)
                // 进项税  inputTax
                cellPay = rowPay!!.createCell(16)
                cellPay!!.setCellValue(inputTax)
                cellPay!!.setCellStyle(cellStyle)
                //进项税转出   transferInputTax
                cellPay = rowPay!!.createCell(17)
                cellPay!!.setCellValue(transferInputTax)
                cellPay!!.setCellStyle(cellStyle)
                // 应交增值税   VATPayable
                cellPay = rowPay!!.createCell(18)
                cellPay!!.setCellValue(VATPayable)
                cellPay!!.setCellStyle(cellStyle)
                //  实缴   realPayment
                cellPay = rowPay!!.createCell(19)
                cellPay!!.setCellValue(realPayment)
                cellPay!!.setCellStyle(cellStyle)
    
                i++
    
            }
            // 保存到文件
            workbook.write(fout)
            fout.close()
            // 保存文件信息到文件表
            val fileUuid = StringUtils.randomUuid()
            val file = File(savePath)
            val fileInfo = FileInfo()
            fileInfo.file = file
            fileInfo.originalFileName = fileName
            val saveFile = SysFileUtils.fileInfo2SysFile(fileInfo, "")
            saveFile.set("uuid", fileUuid)
            val isTrue = saveFile.save()
            if (isTrue) {
                return fileUuid
            } else {
                return null
            }
    
    
    
    
        }

    /**
         * 导出
         * @param records
         * @return
         * @throws IOException
         * @throws ActiveRecordException 
         */
        public String exportResultToExcel(List<Record> records,QhyfController controller) throws IOException, ActiveRecordException {
            // 创建一个webbook
            XSSFWorkbook workbook = new XSSFWorkbook();
            String savePath = EnvironmentUtils.me().getEnv().getGeneratePath()+File.separator+"保理资料";
            File save = new File(savePath);
            if (!save.exists()&& !save.isDirectory()) {
                save.mkdirs();
            }
            String date = new SimpleDateFormat("yyyyMMddHHmmss").format(new java.util.Date());
            String fileName = "保理资料"+date+".xlsx";
            savePath = savePath+File.separator + fileName;
            FileOutputStream fout = new FileOutputStream(savePath);
            
            // 创建开票信息sheet
            XSSFSheet sheet = workbook.createSheet("供应商保理资料");
            sheet.createFreezePane(0, 1, 0, 1);
            // 创建表头行
            XSSFRow headRow = sheet.createRow(0);
            String[] headArr = { "付款确认书编号", "核心企业", "供应商", "签约主体", "应收账款金额", "保理费率", "放款日", "账款到期日", "保理天数"
                                , "放款金额", "供应商利息", "是否开票", "发票金额","发票号码", "是否回寄", "回寄单号", "项目公司", "合同名称"};
            // 单元格
            XSSFCell headCell = null;
            XSSFCellStyle style = workbook.createCellStyle();
            // 表头样式设置
            style.setBorderBottom(XSSFCellStyle.BORDER_THIN);
            style.setBorderLeft(XSSFCellStyle.BORDER_THIN);
            style.setBorderTop(XSSFCellStyle.BORDER_THIN);
            style.setBorderRight(XSSFCellStyle.BORDER_THIN);
            // 设置背景色
            style.setFillForegroundColor(new XSSFColor(new Color(156, 195, 230)));
            style.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND);
            // 写入表头
            for (int i = 0; i < headArr.length; i++) {
                sheet.autoSizeColumn(i);
                headCell = headRow.createCell(i);
                headCell.setCellValue(headArr[i]);
                headCell.setCellStyle(style);
            }
            sheet.setColumnWidth(0, 450 * 15);
            sheet.setColumnWidth(2, 470 * 15);
            sheet.setColumnWidth(3, 580 * 15);
            sheet.setColumnWidth(4, 280* 15);
            sheet.setColumnWidth(6, 230 * 15);
            sheet.setColumnWidth(7, 230 * 15);
            sheet.setColumnWidth(9, 270 * 15);
            sheet.setColumnWidth(10, 420 * 15);
            sheet.setColumnWidth(12, 270 * 15);
            sheet.setColumnWidth(13, 512 * 15);
            sheet.setColumnWidth(15, 256 * 15);
            sheet.setColumnWidth(16, 540 * 15);
            sheet.setColumnWidth(17, 540 * 15);
            //设置单元格样式
            XSSFCellStyle cellStyle = workbook.createCellStyle();
            //边框
            cellStyle.setBorderBottom(XSSFCellStyle.BORDER_THIN);
            cellStyle.setBorderLeft(XSSFCellStyle.BORDER_THIN);
            cellStyle.setBorderTop(XSSFCellStyle.BORDER_THIN);
            cellStyle.setBorderRight(XSSFCellStyle.BORDER_THIN);
            //内容换行
            cellStyle.setWrapText(true);
            //垂直居中
            cellStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);
            XSSFFont font = workbook.createFont();
            font.setColor(new XSSFColor(new Color(0, 0, 255)));
            XSSFCellStyle linkCellStyle = workbook.createCellStyle();
            //边框
            linkCellStyle.setBorderBottom(XSSFCellStyle.BORDER_THIN);
            linkCellStyle.setBorderLeft(XSSFCellStyle.BORDER_THIN);
            linkCellStyle.setBorderTop(XSSFCellStyle.BORDER_THIN);
            linkCellStyle.setBorderRight(XSSFCellStyle.BORDER_THIN);
            //内容换行
            linkCellStyle.setWrapText(true);
            //垂直居中
            linkCellStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);
            linkCellStyle.setFont(font);
            XSSFCell cell = null;
            XSSFRow row = null;
            if (records != null && records.size() > 0) {
                // 查询结果不为空
                for (int i = 0; i < records.size(); i++) {
                    Record record = records.get(i);
                    row = sheet.createRow(i + 1);
                    row.setHeightInPoints(25);
                    cell = row.createCell(0);
                    cell.setCellValue(record.getStr("payId"));
                    cell.setCellStyle(cellStyle);
                    cell = row.createCell(1);
                    cell.setCellValue(record.getStr("coreEnterpriseName"));
                    cell.setCellStyle(cellStyle);
                    cell = row.createCell(2);
                    cell.setCellValue(record.getStr("suppliersName"));
                    cell.setCellStyle(cellStyle);
                    cell = row.createCell(3);
                    cell.setCellValue(record.getStr("signBodyName"));
                    cell.setCellStyle(cellStyle);
                    cell.setCellStyle(cellStyle);
                    cell = row.createCell(4);
                    String accountReceivable = "";
                    if(record.get("accountReceivable") != null){
                        accountReceivable = record.get("accountReceivable").toString();
                    }
                    cell.setCellValue(accountReceivable);
                    cell.setCellStyle(cellStyle);
                    cell = row.createCell(5);
                    String suppliersRateBiz = "";
                    if(record.get("suppliersRateBiz") != null){
                        suppliersRateBiz = record.get("suppliersRateBiz").toString();
                    }
                    cell.setCellValue(suppliersRateBiz);
                    cell.setCellStyle(cellStyle);
                    cell = row.createCell(6);
                    String loanDate = "";
                    if(record.get("loanDate") != null){
                        loanDate = record.get("loanDate").toString();
                    }
                    cell.setCellValue(loanDate);
                    cell.setCellStyle(cellStyle);
                    cell = row.createCell(7);
                    String dueDate = "";
                    if(record.get("dueDate") != null){
                        dueDate = record.get("dueDate").toString();
                    }
                    cell.setCellValue(dueDate);
                    cell.setCellStyle(cellStyle);
                    cell = row.createCell(8);
                    String transferDays = "";
                    if(record.get("transferDays") != null){
                        transferDays = record.get("transferDays").toString();
                    }
                    cell.setCellValue(transferDays);
                    cell.setCellStyle(cellStyle);
                    cell = row.createCell(9);
                    String suppliersMoney = "";
                    if(record.get("suppliersMoney") != null){
                        suppliersMoney = record.get("suppliersMoney").toString();
                    }
                    cell.setCellValue(suppliersMoney);
                    cell.setCellStyle(cellStyle);
                    cell = row.createCell(10);
                    String suppliersInterest = "";
                    if(record.get("suppliersInterest") != null){
                        DecimalFormat df =new DecimalFormat("#.00"); 
                        suppliersInterest = df.format(record.get("suppliersInterest"));
                    }
                    cell.setCellValue(suppliersInterest);
                    cell.setCellStyle(cellStyle);
                    cell = row.createCell(11);
                    String invoiceId = "否";
                    if(!StringUtils.isBlank(record.getStr("invoiceNo"))){
                        invoiceId = "是";
                    }
                    cell.setCellValue(invoiceId);
                    cell.setCellStyle(cellStyle);
                    cell = row.createCell(12);
                    String invoiceAmount = "";
                    if(record.get("invoiceAmount") != null){
                        invoiceAmount = record.get("invoiceAmount").toString();
                    }
                    cell.setCellValue(invoiceAmount);
                    cell.setCellStyle(cellStyle);
                    cell = row.createCell(13);
                    String invoiceDescription = "";
                    if(!StringUtils.isBlank(record.get("invoiceNo"))){
                        invoiceDescription = record.get("invoiceNo");
                        invoiceDescription = invoiceDescription.replace(",", "
    ");
                    }
                    cell.setCellValue(invoiceDescription);
                    cell.setCellStyle(cellStyle);
                    cell = row.createCell(14);
                    String returnId = "否";
                    if(!StringUtils.isBlank(record.getStr("returnId"))){
                        returnId = "是";
                    }
                    cell.setCellValue(returnId);
                    cell.setCellStyle(cellStyle);
                    cell = row.createCell(15);
                    String returnExpressNo = "";
                    if(!StringUtils.isBlank(record.get("expressNo"))){
                        returnExpressNo = record.get("expressNo");
                    }
                    cell.setCellValue(returnExpressNo);
                    cell.setCellStyle(cellStyle);
                    cell = row.createCell(16);
                    String itemCompanyName = "";
                    if(!StringUtils.isBlank(record.get("itemCompanyName"))){
                        itemCompanyName = record.get("itemCompanyName");
                    }
                    cell.setCellValue(itemCompanyName);
                    cell.setCellStyle(cellStyle);
                    cell = row.createCell(17);
                    String contractName = "";
                    if(!StringUtils.isBlank(record.get("contractName"))){
                        contractName = record.get("contractName");
                    }
                    cell.setCellValue(contractName);
                    cell.setCellStyle(cellStyle);
                }
            }
            // 保存到文件
            workbook.write(fout);
            fout.close();
            // 保存文件信息到文件表
            String fileUuid = StringUtils.randomUuid();
            File file = new File(savePath);
            FileInfo fileInfo = new FileInfo();
            fileInfo.setFile(file);
            fileInfo.setOriginalFileName(fileName);
            SysFile saveFile = SysFileUtils.fileInfo2SysFile(fileInfo, null);
            saveFile.set("uuid", fileUuid);
            boolean isTrue = saveFile.save();
            if (isTrue) {
                // 保存成功
                // 文件上传云端
                FileInfo UpFileInfo = this.getFileInfoByUuid(fileUuid);
                this.upload2cloud(UpFileInfo, true);
                return fileUuid;
            } else {
                return null;
            }
        }
  • 相关阅读:
    poj1015
    poj1101
    poj1081
    poj1020
    深入浅出MFC文档视图架构之实例剖析 Love3的日志 网易博客
    简单问题:LPARAM 是一个long(32bit),双字,怎么分别得到高位字和低位字的值。
    VC MFC SDI/MDI框架各部分指针获取方式
    msado15.tlh(228) : error C2011: “LockTypeEnum”: “enum”类型重定义
    C#数据库方面好书
    excel2007密码破解
  • 原文地址:https://www.cnblogs.com/xiaoniuniu886/p/10237258.html
Copyright © 2020-2023  润新知