MiniExcel icon indicating copy to clipboard operation
MiniExcel copied to clipboard

复杂模板导出,同行{{AA.AA}}和{{AA}}冲突

Open ping9719 opened this issue 1 year ago • 0 comments

如图: image

模板文件: 导出模板.xlsx

注:模板文件由WPS创建和预览

代码片段:

                ExcelModel excelModel = new ExcelModel() 
                {
                    NoTelVal0 = 0.12,
                    NoTelVal1 = 1.12,
                    TelVal0 = 2.12,
                    TelVal1 = 3.12,
                    NoTelIsOk = 1,
                    TelIsOk = 2,
                    IsOk = 2,
                    ProductCode = "aaa",
                    DeviceCode = "aaa",
                    ToolingCode = "aaa",
                    UserTest = "aaa",
                    //CreatedTime = DateTime.Now,
                };
                excelModel.TorqueNoTel = new List<TorqueNoTel>()
                {
                    new TorqueNoTel (){ Sort=1,Angle=0.12,TorqueVal=0.56 },
                    new TorqueNoTel (){ Sort=2,Angle=0.22,TorqueVal=0.57 },
                    new TorqueNoTel (){ Sort=3,Angle=0.32,TorqueVal=0.46 },
                };
                excelModel.TorqueTel = new List<TorqueTel>()
                {
                    //这个如果有数据就会报错
                    //new TorqueTel (){ Sort=1,Angle=0.12,TorqueVal=0.46 },
                    //new TorqueTel (){ Sort=2,Angle=0.22,TorqueVal=0.46 },
                    //new TorqueTel (){ Sort=3,Angle=0.32,TorqueVal=0.56 },
                };

                MiniExcel.SaveAsByTemplate(path, DataFile.ExcelTemplatePath, excelModel);
                MessageBox.Show("保存成功");

类定义片段:

    public class ExcelModel : TorqueLog
    {
        public string NoTelIsOkStr { get => NoTelIsOk == 1 ? "合格" : "不合格"; }
        public string TelIsOkStr { get => TelIsOk == 1 ? "合格" : "不合格"; }
        public string IsOkStr { get => IsOk == 1 ? "合格" : "不合格"; }
        public List<TorqueNoTel> TorqueNoTel { get; set; }
        public List<TorqueTel> TorqueTel { get; set; }
    }
    /// <summary>
    /// 力矩点(不上电)
    /// </summary>
    [SugarTable("TorqueNoTel", TableDescription = "力矩点(不上电)")]
    [SugarIndex("TorqueLogId_name", nameof(TorqueLogId), OrderByType.Asc)]
    public class TorqueNoTel
    {
        /// <summary>
        /// Id
        /// </summary>
        [SugarColumn(IsPrimaryKey = true)]
        public string Id { get; set; }
        /// <summary>
        /// 力矩记录Id
        /// </summary>
        public string TorqueLogId { get; set; }
        /// <summary>
        /// 序号
        /// </summary>
        public int Sort { get; set; }
        /// <summary>
        /// 角度
        /// </summary>
        public double Angle { get; set; }
        /// <summary>
        /// 力矩值
        /// </summary>
        public double TorqueVal { get; set; }
    }
    /// <summary>
    /// 力矩点(上电)
    /// </summary>
    [SugarTable("TorqueTel", TableDescription = "力矩点(上电)")]
    [SugarIndex("TorqueLogId_name", nameof(TorqueLogId), OrderByType.Asc)]
    public class TorqueTel
    {
        /// <summary>
        /// Id
        /// </summary>
        [SugarColumn(IsPrimaryKey = true)]
        public string Id { get; set; }
        /// <summary>
        /// 力矩记录Id
        /// </summary>
        public string TorqueLogId { get; set; }
        /// <summary>
        /// 序号
        /// </summary>
        public int Sort { get; set; }
        /// <summary>
        /// 角度
        /// </summary>
        public double Angle { get; set; }
        /// <summary>
        /// 力矩值
        /// </summary>
        public double TorqueVal { get; set; }
    }
    /// <summary>
    /// 力矩记录
    /// </summary>
    [SugarTable("TorqueLog", TableDescription = "力矩记录")]
    public class TorqueLog
    {
        /// <summary>
        /// Id
        /// </summary>
        [SugarColumn(IsPrimaryKey = true)]
        public string Id { get; set; }
        /// <summary>
        /// 产品编号
        /// </summary>
        [SugarColumn(IsNullable = true)]
        public string ProductCode { get; set; }
        /// <summary>
        /// 设备编号
        /// </summary>
        [SugarColumn(IsNullable = true)]
        public string DeviceCode { get; set; }
        /// <summary>
        /// 工装编号
        /// </summary>
        [SugarColumn(IsNullable = true)]
        public string ToolingCode { get; set; }
        /// <summary>
        /// 测试人员
        /// </summary>
        [SugarColumn(IsNullable = true)]
        public string UserTest { get; set; }
        /// <summary>
        /// 通电0度值
        /// </summary>
        public double TelVal0 { get; set; }
        /// <summary>
        /// 通电1度值
        /// </summary>
        public double TelVal1 { get; set; }
        /// <summary>
        /// 不通电0度值
        /// </summary>
        public double NoTelVal0 { get; set; }
        /// <summary>
        /// 不通电1度值
        /// </summary>
        public double NoTelVal1 { get; set; }
        /// <summary>
        /// 通电0度最小
        /// </summary>
        public double TelMin0 { get; set; }
        /// <summary>
        /// 通电0度最大
        /// </summary>
        public double TelMax0 { get; set; }
        /// <summary>
        /// 通电1度最小
        /// </summary>
        public double TelMin1 { get; set; }
        /// <summary>
        /// 通电1度最大
        /// </summary>
        public double TelMax1 { get; set; }
        /// <summary>
        /// 通电是否通过(1是)
        /// </summary>
        public int TelIsOk { get; set; }
        /// <summary>
        /// 不通电0度最小
        /// </summary>
        public double NoTelMin0 { get; set; }
        /// <summary>
        /// 不通电0度最大
        /// </summary>
        public double NoTelMax0 { get; set; }
        /// <summary>
        /// 不通电1度最小
        /// </summary>
        public double NoTelMin1 { get; set; }
        /// <summary>
        /// 不通电1度最大
        /// </summary>
        public double NoTelMax1 { get; set; }
        /// <summary>
        /// 不通电是否通过(1是)
        /// </summary>
        public int NoTelIsOk { get; set; }
        /// <summary>
        /// 是否通过(1是)
        /// </summary>
        public int IsOk { get; set; }
        /// <summary>
        /// 是否上传(1是)
        /// </summary>
        public int IsUp { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreatedTime { get; set; }
        /// <summary>
        /// 更新时间
        /// </summary>
        [SugarColumn(IsNullable = true)]
        public DateTime? UpdatedTime { get; set; }
    }

ping9719 avatar Sep 15 '22 09:09 ping9719