0

我一直在尝试让以下简单的代码工作,但它会引发和异常using (var excelPackage = new ExcelPackage(finfo))

        string filepath = Convert.ToString(Dts.Variables["User::FileFullPath"].Value);


        if (File.Exists(filepath))
        {
            FileInfo finfo = new FileInfo(filepath);

            MessageBox.Show(filepath);
            try
            {
                using (var excelPackage = new ExcelPackage(finfo))
                {
                    ExcelWorksheet ws = excelPackage.Workbook.Worksheets[0];
                    ws.Name = "Sheet1";
                    excelPackage.Save();
                }
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.StackTrace, "Error", MessageBoxButtons.OK);
                Dts.Events.FireError(1, "Check File Status", ex.StackTrace, "", 0);
            }
            Dts.TaskResult = (int)ScriptResults.Success;
        }
        else
        {   
            Dts.TaskResult = (int)ScriptResults.Failure;
        }

错误是:

在此处输入图像描述

通过注释掉一些行,我发现错误using (var excelPackage = new ExcelPackage(finfo))在线。有人可以告诉我在这里做错了什么,或者如何更好地获得更详细的异常吗?

4

1 回答 1

0

我对 SSIS 有同样的问题。

您需要将 EPPlus.dll 程序集添加到全局程序集缓存 (GAC)

在您使用以下方法之一将 EPPlus.dll 程序集添加到 GAC 之前,您的代码无法使用 EPPlus.dll 程序集。

请参阅此链接以了解如何将 DLL 添加到 GAC。 http://www.sqlservercentral.com/articles/Integration+Services+(SSIS)/105432/

于 2017-03-25T11:15:03.483 回答