diff --git a/src/main/java/common/controller/ContractController.java b/src/main/java/common/controller/ContractController.java
index f670973..27e2a71 100644
--- a/src/main/java/common/controller/ContractController.java
+++ b/src/main/java/common/controller/ContractController.java
@@ -7,6 +7,9 @@ import dic.AuthMenuEnmm;
 import dic.ContractStatusEnum;
 import dic.OperateObjectTypeEnum;
 import org.apache.commons.io.IOUtils;
+import org.apache.poi.hssf.usermodel.HSSFRow;
+import org.apache.poi.hssf.usermodel.HSSFSheet;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.joda.time.DateTime;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -28,6 +31,7 @@ import java.io.*;
 import java.math.BigDecimal;
 import java.net.URLEncoder;
 import java.text.DecimalFormat;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -97,9 +101,7 @@ public class ContractController {
     public void export(@CurrentAccount User loginAccount, @PathVariable String platform, @RequestParam String startDate
             , @RequestParam String endDate, HttpServletRequest request, HttpServletResponse response) {
         List<Contract> contractList = service.findAll(loginAccount, startDate, endDate, platform, null);
-
-//        byte[] content = new byte[0];
-        StringBuilder sb = new StringBuilder();
+        /*StringBuilder sb = new StringBuilder();
         //录入时间 合同编号 客户账号 我方签约主体 签约方 行业分类 销售 开始日期 结束日期 套餐类型 合同金额 签约类型 合同状态 回款状态 关联合同
         sb.append("录入时间,合同编号,客户账号,我方签约主体,签约方,行业分类,销售,开始日期,结束日期,套餐类型,合同金额,签约类型,合同状态,回款状态,关联合同\r\n");
         if (ValidateUtil.isValid(contractList)) {
@@ -122,22 +124,50 @@ public class ContractController {
                         .append("\r\n");
             }
         }
-
         String fileName = "合同管理_" + new DateTime(startDate).toString("yyyyMMdd") + "_" + new DateTime(endDate).toString("yyyyMMdd")
                 + ".csv";
-        this.exportWrite(fileName, sb.toString(), "合同管理", response);
-
-//        InputStream in = new ByteArrayInputStream(sb.toString().getBytes());
-//        try {
-//            content = IOUtils.toByteArray(in);
-//        } catch (IOException e) {
-//            e.printStackTrace();
-//        }
-//        HttpHeaders headers = new HttpHeaders();
-//        response.setHeader("filename", "contract.csv");
-//        response.setHeader("content-disposition", "attachment; filename=contract.csv");
-//        response.setHeader("Content-Type", "text/csv");
-//        response.setContentType("APPLICATION/OCTET-STREAM");
+        this.exportWrite(fileName, sb.toString(), "合同管理", response);*/
+
+        //创建工作薄对象
+        HSSFWorkbook workbook = new HSSFWorkbook();//这里也可以设置sheet的Name
+        //创建工作表对象
+        HSSFSheet sheet = workbook.createSheet();
+        //创建工作表的行
+        HSSFRow row = sheet.createRow(0);
+
+        List<String> title = Arrays.asList("录入时间,合同编号,客户账号,我方签约主体,签约方,行业分类,销售,开始日期,结束日期,套餐类型,合同金额,签约类型,合同状态,回款状态,关联合同"
+                .split(","));
+
+        int lineSize = title.size();
+        for (int i = 0; i < lineSize; i++) {
+            row.createCell(i).setCellValue(title.get(i));
+        }
+
+        for (int i = 0; i < contractList.size(); i++) {
+            Contract contract = contractList.get(i);
+            HSSFRow rowBody = sheet.createRow(i + 1);
+            rowBody.createCell(0).setCellValue(new DateTime(contract.getCreateTime()).toString("yyyy-MM-dd"));
+            rowBody.createCell(1).setCellValue(contract.getContractCode());
+            rowBody.createCell(2).setCellValue(contract.getEmail() == null ? "无" : contract.getEmail());
+            rowBody.createCell(3).setCellValue(contract.getMyBodyName());
+            rowBody.createCell(4).setCellValue(contract.getCustomerBody());
+            rowBody.createCell(5).setCellValue(contract.getTradeName());
+            rowBody.createCell(6).setCellValue(contract.getSaleName());
+            rowBody.createCell(7).setCellValue(contract.getStartDate());
+            rowBody.createCell(8).setCellValue(contract.getEndDate());
+            rowBody.createCell(9).setCellValue(contract.getPriceLevel());
+            rowBody.createCell(10).setCellValue(contract.getMoney());
+            rowBody.createCell(11).setCellValue(CONTRACT_STATUS.get(contract.getContractType()));
+            rowBody.createCell(12).setCellValue(CONTRACT_STATUS.get(contract.getStatus()));
+            rowBody.createCell(13).setCellValue(CONTRACT_STATUS.get(contract.getBackStatus() + "_back"));
+            rowBody.createCell(14).setCellValue(contract.getRelationCode() == null ? "" : contract.getRelationCode());
+
+        }
+
+        String fileName = "合同管理_" + new DateTime(startDate).toString("yyyyMMdd")
+                + "_" + new DateTime(endDate).toString("yyyyMMdd") + ".xls";
+        this.exportWrite(fileName, workbook, "合同管理_", response);
+
 
         NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), platform, "导出合同", startDate, endDate, request, platform);
         userlog.start();
@@ -453,13 +483,51 @@ public class ContractController {
                                   String bodyCode, String serchName, HttpServletResponse response, HttpServletRequest request) {
 
         List<Contract> contracts = shareIncomeService.shareIncomeList(loginAccount, startDate, endDate, platform, bodyCode, serchName);
-        byte[] content = new byte[0];
+        //byte[] content = new byte[0];
         DecimalFormat df = new DecimalFormat("##,##0.00");
-        StringBuilder sb = new StringBuilder();
+        //StringBuilder sb = new StringBuilder();
         /*sb.append("我方签约主体,签约方,合同编号,合同金额,不含税收入,合同开始时间,合同截止时间,区间使用天数,区间分摊收入,调整额,分摊总收入\r\n");*/
-        sb.append("我方签约主体,签约方,合同编号,合同状态,合同金额,不含税收入,合同开始日期,合同截止日期,区间使用天数,区间分摊收入,调整额,分摊总收入\r\n");
+        //sb.append("我方签约主体,签约方,合同编号,合同状态,合同金额,不含税收入,合同开始日期,合同截止日期,区间使用天数,区间分摊收入,调整额,分摊总收入\r\n");
+
+        //创建工作薄对象
+        HSSFWorkbook workbook = new HSSFWorkbook();//这里也可以设置sheet的Name
+        //创建工作表对象
+        HSSFSheet sheet = workbook.createSheet();
+        //创建工作表的行
+        HSSFRow row = sheet.createRow(0);
+
+        List<String> title = Arrays.asList("我方签约主体,签约方,合同编号,合同状态,合同金额,不含税收入,合同开始日期,合同截止日期,区间使用天数,区间分摊收入,调整额,分摊总收入"
+                .split(","));
+
+        int lineSize = title.size();
+        for (int i = 0; i < lineSize; i++) {
+            row.createCell(i).setCellValue(title.get(i));
+        }
+
+        for (int i = 0; i < contracts.size(); i++) {
+            Contract contract = contracts.get(i);
+            HSSFRow rowBody = sheet.createRow(i + 1);
+            rowBody.createCell(0).setCellValue(contract.getMyBodyName());
+            rowBody.createCell(1).setCellValue(contract.getCustomerBody());
+            rowBody.createCell(2).setCellValue(contract.getContractCode());
+            rowBody.createCell(3).setCellValue(CONTRACT_STATUS.get(contract.getStatus()));
+            rowBody.createCell(4).setCellValue(df.format(contract.getMoney()));
+            rowBody.createCell(5).setCellValue(df.format(contract.getIncomeExcludingTax() * 1.0 / 100));
+            rowBody.createCell(6).setCellValue(contract.getStartDate());
+            rowBody.createCell(7).setCellValue(contract.getEndDate());
+            rowBody.createCell(8).setCellValue(contract.getIntervalUseDays());
+            rowBody.createCell(9).setCellValue(df.format(contract.getIntervaIncomeShare() * 1.0 / 100));
+            rowBody.createCell(10).setCellValue(df.format(contract.getAdjustmentFund() * 1.0 / 100));
+            rowBody.createCell(11).setCellValue(df.format(contract.getIncomeShareAll() * 1.0 / 100));
+        }
+
+        String fileName = "分摊收入报表_" + new DateTime(startDate).toString("yyyyMMdd")
+                + "_" + new DateTime(endDate).toString("yyyyMMdd") + ".xls";
+        this.exportWrite(fileName, workbook, "分摊收入报表", response);
+
+
 
-        if (ValidateUtil.isValid(contracts)) {
+        /*if (ValidateUtil.isValid(contracts)) {
             for (Contract c : contracts) {
                 sb.append(c.getMyBodyName()).append(",")
                         .append(c.getCustomerBody()).append(",")
@@ -478,10 +546,36 @@ public class ContractController {
         }
         String fileName = "分摊收入报表_" + new DateTime(startDate).toString("yyyyMMdd")
                 + "_" + new DateTime(endDate).toString("yyyyMMdd") + ".csv";
-        this.exportWrite(fileName, sb.toString(), "分摊收入报表", response);
+        this.exportWrite(fileName, sb.toString(), "分摊收入报表", response);*/
 
     }
 
+    private void exportWrite(String fileName, HSSFWorkbook workbook, String exportName, HttpServletResponse response) {
+        OutputStream os = null;
+        try {
+            fileName = URLEncoder.encode(fileName, "UTF-8");
+            response.setHeader("filename", fileName);
+            response.setHeader("content-disposition", "attachment; filename=" + fileName);
+            response.setHeader("Content-Type", "text/xls");
+            response.setContentType("APPLICATION/OCTET-STREAM");
+            response.setCharacterEncoding("UTF-8");
+            os = response.getOutputStream();
+            workbook.write(os);
+            os.flush();
+        } catch (Exception e) {
+            logger.error(exportName + "报错", e);
+        } finally {
+            if (os != null) {
+                try {
+                    os.close();
+                } catch (IOException e) {
+                    logger.error(exportName + "导出,关闭流报错", e);
+                }
+            }
+
+        }
+    }
+
     private void exportWrite(String fileName, String text, String exportName, HttpServletResponse response) {
         OutputStream os = null;
         try {