Epplus löst die Ausnahme von Datavalidations -Ausnahme "angefordertes Wert" nicht gefunden ". Beim Versuch, XLSM zu speichern

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

Frage

Ich versuche, Änderungen an einem Kunden zu verhindern .xlsm Datei (eine C# -Anwendung wird mit Daten aus einer Webform gefüllt und an ein CMS übermittelt) Epplus.

Aber auf Paket.Save (Name) - oder Packagae.Saveas (Name) - Eine Ausnahme wird durch die Sammlung von Datavalidations ausgelöst:

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

Selbst versucht, Arbeitsblatt zu versuchen.

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

Ich habe dieses Verhalten nicht in einer Excel -Datei, die ich von Grund auf neu erstelle, aber ich muss die angegebene Datei verwenden.

Ich weiß nicht, ob es von Bedeutung ist, aber ich arbeite im .NET 4 -Framework und es handelt sich um eine 1,01 MB .xlsm -Datei. Die Datei speichert/speichert-wie gut (auch mit neuen Daten) in Excel.

Hinweis: Anscheinend .xlsx Dateien funktionieren gut, aber das .xlsm-Format enthält VBA-Makros, die im .xlsx-Format nicht gespeichert werden können, sodass der Datei-Typ nicht konvertiert werden kann.

War es hilfreich?

Lösung

Wie üblich finde ich innerhalb von 60 Sekunden nach dem Veröffentlichen neue Informationen online.

Da ist ein Diskussion An der Epplus -Codeplex -Site, die darauf hindeutet "In der Komponente gibt es keine wirkliche Unterstützung für [XLSM -Dateien]."

Das kann die Quelle des Problems sein.

Andere Tipps

Haben Sie die neueste Version von epplus?

Sie haben diese Ausgabe März 2011 behoben. Es hatte damit zu tun, dass Validationstypen unempfindlich waren.

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

Bearbeiten: Sie können auch versuchen, es als .xlsx zu speichern, wenn XLSM nicht unterstützt wird.

Wie Ed schrieb, habe ich die letzte Version von Epplus abgeladen, die vom 31. Januar 2012 ist, und es hat mit seiner Validierung sehr gut funktioniert. Das Excel -I -Lesen und Schreiben ist ein .xlsx -Format.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top