修改导表动态处理
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-10-28 10:40:52 +08:00
parent 2a172acb15
commit 31e2e03536
3 changed files with 17 additions and 1 deletions

View File

@ -237,6 +237,11 @@ public static class ExcelExportHelper
/// </summary>
public string DynamicItemValueName { get; set; }
/// <summary>
/// Excel Title Name
/// </summary>
public string DynamicItemTitleName { get; set; }
public List<int> RemoveColunmIndexList { get; set; } = new List<int>();
}
@ -385,6 +390,7 @@ public static class ExcelExportHelper
//原始表 最终索引
var originTotalEndIndex = dynamicColumnConfig.TempalteLastColumnIndex;
//减去动态移除后原始结束索引
var originRemoveEndIndex= originTotalEndIndex- dynamicRemoveColunmCount;
//最终表 动态列开始索引
@ -496,15 +502,19 @@ public static class ExcelExportHelper
var itemList = itemDic[dynamicColumnConfig.DynamicListName] as IList;
//这个数组是动态的有的多有的少所以在此对比Title 一致才赋值
foreach (var itemObj in itemList)
{
var writeIndex = itemList.IndexOf(itemObj) + dynamicColumnConfig.AutoColumnStartIndex;
var iteObjDic = itemObj.ToDictionary();
var itemDicName = iteObjDic[dynamicColumnConfig.DynamicItemDicName]?.ToString();
var itemValue = iteObjDic[dynamicColumnConfig.DynamicItemValueName]?.ToString();
//var writeIndex = itemList.IndexOf(itemObj) + dynamicColumnConfig.AutoColumnStartIndex;
var writeIndex = dynamicColumnConfig.ColumnNameList.IndexOf(iteObjDic[dynamicColumnConfig.DynamicItemTitleName].ToString()) + dynamicColumnConfig.AutoColumnStartIndex;
if (itemDicName.IsNotNullOrEmpty())
{

View File

@ -92,6 +92,11 @@
取值的属性名
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.ExcelExportHelper.DynamicColumnConfig.DynamicItemTitleName">
<summary>
Excel Title Name
</summary>
</member>
<member name="M:IRaCIS.Core.Application.Service.ExcelExportHelper.ExportTemplateAsync(IRaCIS.Application.Contracts.ExportTemplateServiceDto)">
<summary>
导出文件模板

View File

@ -2185,6 +2185,7 @@ namespace IRaCIS.Core.Application.Service.Common
TempalteLastColumnIndex = 8,
DynamicItemDicName = "TranslateDicName",
DynamicItemValueName = "QuestionValue",
DynamicItemTitleName= "QuestionName",
DynamicListName = "QuestionAnswerList",
RemoveColunmIndexList = new List<int>() { },
ColumnNameList = columNameList ?? new List<string>(),