1

我正在使用File Helpers,但我不确定如何获取我的数据并将其导出到 Excel 文件。

我看到了一个提取记录但没有创建 excel 文件的教程。

我试着这样做

ExcelStorage provider = new ExcelStorage(typeof(Img));

provider.StartRow = 2;
provider.StartColumn = 1;

provider.FileName = "Customers.xls";

provider.HeaderRows = 6;

provider.InsertRecords(imgs.ToArray()); // imgs was a list before

System.IO.FileNotFoundException 未被用户代码处理
Message=Could not load file or assembly 'Interop.Excel, Version=1.3.0.0, Culture=neutral, PublicKeyToken=3e0c08d59cc3d657' 或其依赖项之一。该系统找不到指定的文件。
Source=FileHelpers.ExcelStorage FileName=Interop.Excel,Version=1.3.0.0,Culture=neutral,PublicKeyToken=3e0c08d59cc3d657
FusionLog==== 绑定前状态信息 === LOG: User = LOG: DisplayName = Interop.Excel, Version=1.3.0.0, Culture=neutral, PublicKeyToken=3e0c08d59cc3d657 (全指定) LOG: Appbase = LOG: Initial PrivatePath = 调用程序集:FileHelpers.ExcelStorage,版本=2.9.9.0,文化=中性,PublicKeyToken=3e0c08d59cc3d657。=== LOG:此绑定在默认加载上下文中开始。LOG:使用应用程序配置文件:web.config LOG:使用主机配置文件:LOG:使用 machine.config 中的机器配置文件。日志:策略后参考:Interop.Excel,版本=1.3.0.0,文化=中性,PublicKeyToken=3e0c08d59cc3d657 日志:尝试下载新 URL 文件:日志:尝试下载新 URL 文件:Interop.Excel.DLL。日志:正在尝试下载新的 URL 文件:Interop.Excel.DLL。日志:正在尝试下载新的 URL 文件:Interop.Excel.DLL。日志:正在尝试下载新的 URL 文件:Interop.Excel.EXE。日志:正在尝试下载新的 URL 文件:Interop.Excel.EXE。日志:正在尝试下载新的 URL 文件:Interop.Excel.EXE。日志:正在尝试下载新的 URL 文件:Interop.Excel.EXE。

StackTrace:在 FileHelpers.DataLink.ExcelStorage.InitExcel() 在 FileHelpers.DataLink.ExcelStorage.InsertRecords(Object[] records) at Index() in Controller.cs:line 37 at lambda_method(Closure, ControllerBase, Object[]) at System .Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary 2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 parameters) at System.Web.Mvc.ControllerActionInvoker.<>c_ DisplayClass15.b _12() 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter 过滤器,ActionExecutingContext preContext,Func`1 延续)
InnerException:

4

2 回答 2

8

您需要将 Interop.Excel 和 Interop.Office 引用的“嵌入互操作类型”设置为“假”,这将自动将本地复制设置为真,并且一切正常。

于 2013-03-05T18:12:36.453 回答
2

我认为您只需要在项目中添加对 Excel 程序集的引用 - 这是您用于将其导出到 Excel 的软件的依赖项。您可以在 COM 选项卡下找到这些程序集,这里是列出它们名称的链接,以便您找到它们。您可能没有与该链接相同的版本,但它们的名称将相对相同。

如果您需要更多帮助,请告诉我。

于 2012-03-16T00:06:20.650 回答