Open XML создает поврежденный файл xlsx, если в раскрывающемся списке более 15 элементов. - PullRequest
0 голосов
/ 09 июля 2020
• 1000 но что-нибудь еще, и файл будет поврежден.

Вот рассматриваемый код (который заставляет файл работать, если он закомментирован).

private void AddDataValidationsToSheet(Worksheet sheet, int headerRow, string[] selectableDepots)
        {
            //Add depot validation
            DataValidations dataValidations = sheet.GetFirstChild<DataValidations>();
            List<DataValidation> validations = new List<DataValidation>();
            DataValidation depotValidation = new DataValidation()
            {
                Type = DataValidationValues.List,
                AllowBlank = true,
                SequenceOfReferences = new ListValue<StringValue>()
                    { InnerText = "E" + (headerRow + 1) + ":E3000" },
                Formula1 = new Formula1(
                    "\"" + selectableDepots.Take(20).OrderBy(a => a).Aggregate((a, b) => a + "," + b) + "\""),
            };
            validations.Add(depotValidation);
            InsertDataValidationToSheet(validations, dataValidations, sheet); -> This just adds it to the right place in the openXML document
        }

Кто-нибудь сталкивался с подобными проблемами раньше?

...