diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java
index 1425666..fcd0716 100644
--- a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java
+++ b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huaheng.common.constant.QuantityConstant;
 import com.huaheng.common.support.Convert;
 import com.huaheng.common.utils.StringUtils;
+import com.huaheng.common.utils.poi.ExcelUtil;
 import com.huaheng.common.utils.security.ShiroUtils;
 import com.huaheng.framework.aspectj.lang.annotation.Log;
 import com.huaheng.framework.aspectj.lang.constant.BusinessType;
@@ -22,6 +23,7 @@ import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail;
 import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetailChild;
 import com.huaheng.pc.inventory.cycleCountDetail.service.CycleCountDetailChildService;
 import com.huaheng.pc.inventory.cycleCountDetail.service.CycleCountDetailService;
+import com.huaheng.pc.system.user.domain.User;
 import com.huaheng.pc.task.taskHeader.service.CycleCountTaskService;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.stereotype.Controller;
@@ -343,19 +345,28 @@ public class CycleCountDetailController extends BaseController {
         newChild.setUserDef3("manual");//手动添加库存
         return toAjax(cycleCountDetailChildService.save(newChild));
     }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+    @Log(title = "库存-盘点-导出", operating = "导出盘点明细 ", action = BusinessType.EXPORT)
+    @RequiresPermissions("inventory:cyclecountDetail:export")
+    @PostMapping("/export")
+    @ResponseBody
+    public AjaxResult export(CycleCountDetailChild cycleCountDetailChild)
+    {
+        try
+        {
+            LambdaQueryWrapper<CycleCountDetailChild> lambdaQueryWrapper = Wrappers.lambdaQuery();
+            lambdaQueryWrapper
+                    .eq(CycleCountDetailChild::getCycleCountDetailId,cycleCountDetailChild.getCycleCountDetailId())
+                    .eq(CycleCountDetailChild::getCycleCountHeadCode,cycleCountDetailChild.getCycleCountHeadCode())//盘点主单
+                    .eq(StringUtils.isNotEmpty(cycleCountDetailChild.getLocationCode()), CycleCountDetailChild::getLocationCode, cycleCountDetailChild.getLocationCode()) //库位
+                    .eq(StringUtils.isNotEmpty(cycleCountDetailChild.getContainerCode()), CycleCountDetailChild::getContainerCode,cycleCountDetailChild.getContainerCode()) //容器
+                    .orderByDesc(CycleCountDetailChild::getId);
+            List<CycleCountDetailChild> list  = cycleCountDetailChildService.list(lambdaQueryWrapper);
+            ExcelUtil<CycleCountDetailChild> util = new ExcelUtil<>(CycleCountDetailChild.class);
+            return util.exportExcel(list, "盘点明细列表");
+        }
+        catch (Exception e)
+        {
+            return error("导出Excel失败,请联系网站管理员!");
+        }
+    }
 }
diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetailChild.java b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetailChild.java
index 4ddb757..4e30fdb 100644
--- a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetailChild.java
+++ b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetailChild.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.huaheng.framework.aspectj.lang.annotation.Excel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -57,6 +58,7 @@ public class CycleCountDetailChild implements Serializable {
     /**
      * 物料
      */
+    @Excel(name = "物料编码")
     @TableField(value = "materialCode")
     @ApiModelProperty(value="物料")
     private String materialCode;
@@ -64,6 +66,7 @@ public class CycleCountDetailChild implements Serializable {
     /**
      * 物料名称
      */
+    @Excel(name = "物料名称")
     @TableField(value = "materialName")
     @ApiModelProperty(value="物料名称")
     private String materialName;
@@ -78,6 +81,7 @@ public class CycleCountDetailChild implements Serializable {
     /**
      * 物料单位
      */
+    @Excel(name = "物料单位")
     @TableField(value = "materialUnit")
     @ApiModelProperty(value="物料单位")
     private String materialUnit;
@@ -85,6 +89,7 @@ public class CycleCountDetailChild implements Serializable {
     /**
      * 系统数量
      */
+    @Excel(name = "系统数")
     @TableField(value = "systemQty")
     @ApiModelProperty(value="系统数量")
     private BigDecimal systemQty;
@@ -92,6 +97,7 @@ public class CycleCountDetailChild implements Serializable {
     /**
      * 实盘数量
      */
+    @Excel(name = "实盘数")
     @TableField(value = "countedQty")
     @ApiModelProperty(value="实盘数量")
     private BigDecimal countedQty;
@@ -99,13 +105,23 @@ public class CycleCountDetailChild implements Serializable {
     /**
      * 差异数量
      */
+    @Excel(name = "差异数")
     @TableField(value = "gapQty")
     @ApiModelProperty(value="差异数量")
     private BigDecimal gapQty;
 
     /**
+     * 盘点明细子单状态
+     */
+    @Excel(name = "子单状态",readConverterExp="1=新建,5=盘点任务生成,10=执行中,15=已登记,30=审核,99=关闭,100=盘点完成,110=已生成调整单,105=盘点差异")
+    @TableField(value = "childStatus")
+    @ApiModelProperty(value="盘点明细子单状态")
+    private Integer childStatus;
+
+    /**
      * 创建时间
      */
+    @Excel(name = "创建时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
     @TableField(value = "created")
     @ApiModelProperty(value="创建时间")
     private Date created;
@@ -113,6 +129,7 @@ public class CycleCountDetailChild implements Serializable {
     /**
      * 创建用户
      */
+    @Excel(name = "创建用户")
     @TableField(value = "createdBy")
     @ApiModelProperty(value="创建用户")
     private String createdBy;
@@ -120,6 +137,7 @@ public class CycleCountDetailChild implements Serializable {
     /**
      * 实盘登记用户
      */
+    @Excel(name = "实盘登记人")
     @TableField(value = "countedBy")
     @ApiModelProperty(value="实盘登记用户")
     private String countedBy;
@@ -145,12 +163,6 @@ public class CycleCountDetailChild implements Serializable {
     @ApiModelProperty(value="自定义字段3")
     private String userDef3;
 
-    /**
-     * 盘点明细子单状态
-     */
-    @TableField(value = "childStatus")
-    @ApiModelProperty(value="盘点明细子单状态")
-    private Integer childStatus;
 
     /**
      * 库存明细ID
diff --git a/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html b/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html
index 797b403..8f1c61c 100644
--- a/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html
+++ b/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html
@@ -100,8 +100,8 @@
                     createUrl: prefix + "/add",
                     updateUrl: prefix + "/edit/{id}",
                     removeUrl: prefix + "/remove",
+                    exportUrl: prefix + "/export",
                     modalName: "盘点明细头",
-                    sortName: "id",
                     sortOrder: "desc",
                     // height:610,
                     pagination: true,  //是否分页
@@ -140,6 +140,7 @@
                                 if(row.enableStatus  > 1 && row.enableStatus < 100){
                                     actions.push('<a class="btn btn-warning btn-xs ' + addInvDetailFalg + '" href="#" onclick="addInvDetail(\'' + row.id + '\')"><i class="fa fa-gbp"></i>添加托盘库存</a> ');
                                 }
+                                actions.push('<a class="btn btn-success btn-rounded btn-sm" onclick="exportExcels(\'' + row.id + '\',\'' + row.containerCode + '\')"><i class="fa fa-download"></i>&nbsp;导出</a>');
                                 return actions.join('');
                             }
                         },
@@ -539,6 +540,22 @@
         };
 
     /*__________*/
+    function exportExcels(id,containerCode) {
+        let data = {
+            //传值
+            cycleCountHeadCode : $('#cycleCountHeadCode').val(),
+            cycleCountDetailId: id,
+            containerCode: containerCode,
+        };
+        $.post(ctx + "inventory/cycleCountDetail/export", data, function (result) {
+            if (result.code == web_status.SUCCESS) {
+                window.location.href = ctx + "common/download?fileName=" + result.msg + "&delete=" + true;
+            } else {
+                $.modal.alertError(result.msg);
+            }
+            $.modal.closeLoading();
+        });
+    }
 
     function add() {
         var cycleCountHeadCode = $('#cycleCountHeadCode').val();
@@ -676,7 +693,6 @@
                 });
                 $.modal.closeLoading();
                 layer.close(index);
-                detailChildTable();
                 //layer.closeAll();
             }
         });