diff --git a/IRaCIS.Core.Application/Helper/FileDocProcess/ExcelExportHelper.cs b/IRaCIS.Core.Application/Helper/FileDocProcess/ExcelExportHelper.cs index 8c7b68d76..e4d82de07 100644 --- a/IRaCIS.Core.Application/Helper/FileDocProcess/ExcelExportHelper.cs +++ b/IRaCIS.Core.Application/Helper/FileDocProcess/ExcelExportHelper.cs @@ -237,6 +237,11 @@ public static class ExcelExportHelper /// public string DynamicItemValueName { get; set; } + /// + /// Excel Title Name + /// + public string DynamicItemTitleName { get; set; } + public List RemoveColunmIndexList { get; set; } = new List(); } @@ -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()) { diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index d9fae9d96..0e8920bc6 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -92,6 +92,11 @@ 取值的属性名 + + + Excel Title Name + + 导出文件模板 diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs index 58e0bbb13..b11a2a1da 100644 --- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs +++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs @@ -2185,6 +2185,7 @@ namespace IRaCIS.Core.Application.Service.Common TempalteLastColumnIndex = 8, DynamicItemDicName = "TranslateDicName", DynamicItemValueName = "QuestionValue", + DynamicItemTitleName= "QuestionName", DynamicListName = "QuestionAnswerList", RemoveColunmIndexList = new List() { }, ColumnNameList = columNameList ?? new List(),