Epplusは、Datavalidationsの例外「要求された値「日付」が見つかりませんでした。」 XLSMを保存しようとするとき

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

質問

私は顧客がサプリしたものに変更を加えようとしています .xlsm ファイル(C#アプリケーションは、Web形式のデータとCMSに送信します)を使用して epplus。

ただし、package.save(name) - またはpackagae.saveas(name) - 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

Worksheet.datavalidations.clear()を試みても、同じ例外をスローします。これはファイルに変更がありません。

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

ゼロから作成するExcelファイルにこの動作はありませんが、付属のファイルを使用する必要があります。

それが重要かどうかはわかりませんが、私は.NET 4フレームワークで働いており、1.01 MB .XLSMファイルです。ファイルは、Excel内から(新しいデータを使用しても)保存/保存します。

注:どうやら .xlsx ファイルは正常に機能しますが、.xlsm形式には.xlsx形式で保存できないVBAマクロが含まれているため、ファイルタイプを変換できません。

役に立ちましたか?

解決

いつものように、投稿から60秒以内にオンラインで新しい情報を見つけます。

があります 討論 それを示唆するepplus codeplexサイトでコンポーネントに[XLSMファイル]の実際のサポートはありません。"

問題の原因である可能性があります。

他のヒント

Epplusの最新バージョンはありますか?

彼らは2011年3月にこの問題を修正しました。それは、検証タイプが症例鈍感であることに関係していました。

見る:http://epplus.codeplex.com/workitem/13246

編集:XLSMがサポートされていない場合は、.xlsxとして保存することもできます。

エドが書いたように、私は2012年1月31日からのEpplusの最後のバージョンをDonwloadoladにしましたが、その検証と非常にうまく機能しました。 Excel Imの読み取りと書き込みは.xlsx形式です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top