MiniExcel
MiniExcel copied to clipboard
复杂模板导出,同行{{AA.AA}}和{{AA}}冲突
如图:
模板文件: 导出模板.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; }
}