EPPLUS lanza DataValidations Exception "No se encontró" Fecha de valor "solicitado". Al intentar guardar XLSM

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

Pregunta

Estoy intentando hacer cambios en un suministro de clientes .xlsm Archivo (una aplicación C# se llenará con datos de una forma web y se enviará a un CMS) utilizando EPPLUS.

Pero en paquete.save (nombre) - o paquete.

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

Incluso intentar Worksheet.datavalidations.clear () lanza la misma excepción, y esto no tiene ningún cambio en el archivo:

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

No tengo este comportamiento en un archivo de Excel que creo desde cero, pero necesito usar el archivo suministrado.

No sé si es significativo, pero estoy trabajando en el marco .NET 4, y es un archivo .xlsm de 1.01 MB. El archivo guarda/guarda como bien (incluso con nuevos datos) desde Excel.

Nota: Aparentemente .xlsx Los archivos funcionan bien, pero el formato .xlsm contiene macros VBA que no se pueden guardar en el formato .xlsx, por lo que el tipo de archivo no se puede convertir.

¿Fue útil?

Solución

Como de costumbre, a los sesenta segundos de publicar encuentro nueva información en línea.

Hay un discusión en el sitio de CodePlex EPPLUS eso sugiere que "No hay soporte real para [archivos XLSM] en el componente."

El puede ser la fuente del problema.

Otros consejos

¿Tienes la última versión de EPPLU?

Arreglaron este problema de marzo de 2011. Tenía que ver con los tipos de validación insensibles al caso.

Ver:http://epplus.codeplex.com/workitem/13246

Editar: También puede intentar guardarlo como .xlsx si XLSM no es compatible.

Como Ed escribió, he cargado la última versión de EPPLU, que es del 31 de enero de 2012, y funcionó muy bien con su validación. El Excel que estoy leyendo y escritura es un formato .xlsx.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top