2012-03-15 54 views
1

我正在使用File Helpers,我不確定如何獲取我的數據並將其導出到Excel文件。如何使用FileHelpers導出爲Excel文件

我看到extracting records的教程,但沒有創建一個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是由用戶代碼未處理
消息=無法加載文件或程序集「Interop.Excel, 版本= 1.3.0.0, Culture = neutral,PublicKeyToken = 3e0c08d59cc3d657'或 其依賴關係之一。該系統找不到指定的文件。
源= FileHelpers.ExcelStorage文件名= Interop.Excel, 版本= 1.3.0.0,文化=中性公鑰= 3e0c08d59cc3d657
FusionLog ====預綁定狀態信息=== LOG:用戶= LOG: DisplayName的= Interop.Excel,Version = 1.3.0.0,Culture = neutral, PublicKeyToken = 3e0c08d59cc3d657(完全指定)LOG:Appbase = LOG:初始PrivatePath =調用程序集: FileHelpers.ExcelStorage,Version = 2.9.9.0,Culture =中性, 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。

堆棧跟蹤: 在FileHelpers.DataLink.ExcelStorage.InitExcel() 在FileHelpers.DataLink.ExcelStorage.InsertRecords(對象[]記錄) 在指數()中Controller.cs:在lambda_method線37 (封閉, ControllerBase,在System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase控制器對象[]) ,在System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext對象[]參數) ,IDictionary的參數) 在System.Web.Mvc.ControllerActionInvoker。 <> C_ DisplayClass15.b _12() 在System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter 過濾器,ActionExecutingContext preContext,Func`1續)
的InnerException:

+1

您是否參考了項目中的辦公室組裝? – 2012-03-16 00:00:48

+0

從FileHelpers網站ExcelStorage類文檔... ExcelStorage類 該類實現Microsoft Excel文件的DataStorage。 警告您需要安裝Microsoft Excel 2000或更新版本才能使用此功能。 要使用此類,您需要引用FileHelpers.ExcelStorage.dll文件。 – dbugger 2012-03-16 00:05:37

+0

是的,當我從nuget下載文件幫助時(Interop.Excel v1.3.0.0,Interop.Office v2.1.0.0) – chobo2 2012-03-16 00:05:45

回答

2

我想你只需要在項目中添加對Excel程序集的引用 - 這是您用於將它導出到Excel的軟件的依賴關係。你可以在COM選項卡下找到這些程序集,這裏有一個鏈接,列出它們的names,以便你可以找到它們。您可能沒有與該鏈接相同的版本,但它們的命名相對相同。

讓我知道你是否需要更多幫助。

+0

它已經爲我添加了Interop.Excel v1.3.0.0和Interop.Office v2.1.0.0。 – chobo2 2012-03-16 00:44:10

+0

是的,但我認爲問題在於那些Interop程序集不會加載到您的開發機器上,因爲您說您正在運行2010年。所以,您可以嘗試添加可用於Excel的COM引用,刪除這兩個與NuGet包一起提供,並查看它是否解析Interop,因爲它們與這些程序集有很多向後兼容性。在此期間,我會看看我還能找到什麼。 – 2012-03-16 00:45:41

+0

我認爲這工作(它至少沒有崩潰)。但我不會100%肯定,直到我弄清楚如何使它導出一個Excel文件。你知道該怎麼做 – chobo2 2012-03-16 17:48:05

8

對於Interop.Excel和Interop.Office引用,您需要將'嵌入Interop Types'設置爲'false',它將自動將複製本地設置爲true,它將全部工作。

+0

這對我有效! – 2013-06-19 18:48:08

相關問題