Как экспортировать в файл Excel с FileHelpers - PullRequest
1 голос
/ 16 марта 2012

Я использую 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 не было обработано кодом пользователя
Сообщение = Не удалось загрузить файл илисборка 'Interop.Excel, версия = 1.3.0.0, культура = нейтральная, PublicKeyToken = 3e0c08d59cc3d657' или одна из ее зависимостей.Системе не удается найти указанный файл.
Source = FileHelpers.ExcelStorage FileName = Interop.Excel, версия = 1.3.0.0, Culture = нейтральный, PublicKeyToken = 3e0c08d59cc3d657
FusionLog ==== Информация о состоянии предварительной привязки === LOG: Пользователь = LOG: DisplayName = Interop.Excel, Версия = 1.3.0.0, Культура = Нейтральный, PublicKeyToken = 3e0c08d59cc3d657 (Полностью определен) LOG: Appbase = LOG: Initial PrivatePath = Исходная сборка: FileHelpers.ExcelStorage, Версия = 2.9.9.0, Культура = нейтральная, PublicKeyToken = 3e0c08d59cc3d657.=== LOG: эта привязка начинается в контексте загрузки по умолчанию.LOG: использование файла конфигурации приложения: web.config LOG: использование файла конфигурации хоста: LOG: использование файла конфигурации компьютера из machine.config.LOG: ссылка после политики: Interop.Excel, версия = 1.3.0.0, Culture = нейтральный, PublicKeyToken = 3e0c08d59cc3d657 LOG: попытка загрузки нового файла URL: LOG: попытка загрузки нового файла URL: Interop.Excel.DLL.LOG: Попытка загрузки нового файла URL: Interop.Excel.DLL.LOG: Попытка загрузки нового файла URL: Interop.Excel.DLL.LOG: Попытка загрузки нового файла URL: Interop.Excel.EXE.LOG: Попытка загрузки нового файла URL: Interop.Excel.EXE.LOG: Попытка загрузки нового файла URL: Interop.Excel.EXE.LOG: попытка загрузки нового файла URL: Interop.Excel.EXE.

StackTrace: в FileHelpers.DataLink.ExcelStorage.InitExcel () в FileHelpers.DataLink.ExcelStorage.InsertRecords (записи Object []) в Index () в Controller.cs: строка 37 в lambda_method (Closure, ControllerBase, Object []) в System.Web.Mvc.ActionMethodDispatcher.Execute (параметры контроллера ControllerBase, Object []) в System.Web.Mvc.ReflectedActionDescriptor.Execute (ControllerContext)controllerContext, IDictionary 2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary 2 параметра) в System.Web.Mvc.ControllerActionInvoker. <> c_ DisplayClass15.b _12 () в System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter (IActionFilter фильтр, действие Preececuting, действие ExecectingFunc`1 продолжение)
InnerException:

Ответы [ 2 ]

8 голосов
/ 05 марта 2013

Для ссылок Interop.Excel и Interop.Office необходимо установить «Внедрить типы взаимодействия» в «false», что автоматически установит для копии локальное значение «истина», и все будет работать.

2 голосов
/ 16 марта 2012

Я думаю, вам просто нужно добавить ссылку на сборку Excel в вашем проекте - это зависимость от программного обеспечения, которое вы используете для экспорта в Excel.Вы можете найти эти сборки на вкладке COM, и вот ссылка, которая перечисляет их имена , чтобы вы могли их найти.Возможно, у вас не та же версия, что и у этой ссылки, но они будут названы относительно одинаково.

Дайте мне знать, если вам нужна дополнительная помощь.

...