Epplus выбрасывает исключение DataValidations «Запрашиваемое значение» дата »не было найдено». При попытке сохранить XLSM

StackOverflow https://stackoverflow.com/questions/8302801

Вопрос

Я пытаюсь внести изменения в понесение клиента .xlsm Файл (приложение C# заполнится данными из веб-формы и отправится в CMS), используя Epplus.

Но на Package.save (имя) - или packagae.saveas (имя) - Исключение отдается коллекцией DataValidations:

2011-11-28 14:17:51,380 [9] ERROR app.ExcelConverter - System.ArgumentException: Requested value 'date' was not found.
   at System.Enum.EnumResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument)
   at System.Enum.TryParseEnum(Type enumType, String value, Boolean ignoreCase, EnumResult& parseResult)
   at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
   at OfficeOpenXml.DataValidation.ExcelDataValidationCollection..ctor(ExcelWorksheet worksheet)
   at OfficeOpenXml.ExcelWorksheet.get_DataValidations()
   at FItoExcelCore.ExcelConverter.RunSample(String filePath) in \path\to\class.cs:line 32

Даже попытка рабочего листа. Datavalidations.clear () бросает одно и то же исключение, и это без каких -либо изменений в файле:

        try
        {
            using (ExcelPackage package = new ExcelPackage(output))
            {
                package.SaveAs(output);
            }
        }
        catch (Exception ex)
        {
            _log.Error(ex.ToString());
        }

У меня нет такого поведения в файле Excel, который я создаю с нуля, но мне нужно использовать поставляемый файл.

Не знаю, имеет ли это значительное, но я работаю в фреймворке .NET 4, и это файл .xlsm 1,01 МБ. Файл сохраняет/сохраняет в порядке (даже с новыми данными) из Excel.

Примечание: очевидно .xlsx Файлы работают просто отлично, но формат .xlsm содержат макросы VBA, которые нельзя сохранить в формате .xlsx, поэтому тип файла не может быть преобразован.

Это было полезно?

Решение

Как обычно, через шестьдесят секунд после публикации я нахожу новую информацию в Интернете.

Eсть дискуссия на сайте Epplus codeplex, который предполагает, что »В компоненте нет реальной поддержки [XLSM -файлов]."

Может быть источником проблемы.

Другие советы

У вас есть последняя версия Epplus?

Они исправили эту проблему марта 2011 года. Это было связано с валидацией, которые были нечувствительны.

Видеть:http://epplus.codeplex.com/workitem/13246

Редактировать: Вы также можете попробовать сохранить его как .xlsx, если XLSM не поддерживается.

Как писал Эд, я загрузил последнюю версию Epplus, которая находится с 31 января 2012 года, и она очень хорошо работала с ее проверкой. Excel Im Reading and Writing - это формат .xlsx.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top