Веб-сервис Excel конвертация - PullRequest
3 голосов
/ 27 февраля 2012

У меня есть веб-сервис ASP.NET, который создает файл в формате таблицы XML.

Мне нужно преобразовать этот файл в формат Excel 2003.

Что я могу использовать вместо Microsoft.Interop библиотеки?

ОБНОВЛЕНИЕ: мне также нужно скопировать формат из исходного файла.

Ответы [ 4 ]

1 голос
/ 27 февраля 2012

Вы можете прочитать данные из xml, используя linq, а затем вставить их в ход, используя linq, чтобы преуспеть с помощью dll, предоставленной в посте выше.

также взгляните на эту статью, надеюсь, это поможет

http://blogs.msdn.com/b/bethmassi/archive/2007/10/30/quickly-import-and-export-excel-data-with-linq-to-xml.aspx

1 голос
/ 27 февраля 2012

Вы пробовали OpenXML? Здесь является примером

С Office 2007

Смотрите здесь для форматирования ячеек

0 голосов
/ 11 марта 2012

Я нашел ответ самостоятельно.

Я не мог использовать разные библиотеки, потому что мне пришлось открывать файл в формате XML Table и сохранять его в формате Excel 2003.

Возможно, мой опыт в этом вопросе кому-нибудь поможет.Я использовал Windows Server 2008 с IIS 7.0 и библиотеку Excel Microsoft.Office.Interop.Excel версии 12.

Microsoft говорит, что использование Interop DLL может привести к непредсказуемому результату, но это НЕ невозможно .

Основная проблема использования классов Interop заключается в доступе пользователя к запуску приложений DCOM, который запускает веб-сервис.

Для корректной работы веб-службы я сделал следующее:

  1. Я открыл «dcomcnfg» и отключил авторизацию для всех компонентов DCOM.

    Другой способ - найти именно ваши объекты DCOM и дать разрешения на локальный запуск пользователю, который запускает службу.

  2. Предоставил разрешения ветке реестра

    HKEY_CLASSES_ROOT \ CLSID \ ID_OF_MICROSOFT_APPLICATION_CLASS

    ID_OF_MICROSOFT_APPLICATION_CLASS = класс, который содержал ошибку веб-сервера при доступе к Interop DLL

  3. *1032**1032*важно : я создал папку

    для 86x: C: \ Windows \ System32 \ config \ systemprofile \ Desktop
    для 64x: C: \ Windows \ SysWOW64 \ config \ systemprofile \ Desktop

  4. Предоставил разрешение на запись пользователю веб-сервиса во все папки, которые использует мой веб-сервис, включая папку из пункта (3).

Если ваш веб-сервис работает в СЕТИСЕРВИС попробуйте изменить его на локального пользователя, возможно это может помочь вам.

0 голосов
/ 27 февраля 2012

Я использую ExcelLibrary Я думаю, что это очень простой в использовании инструмент. Вы можете преобразовать строку XML в файл Excel одним способом.

Я тоже слышал о NPOI, может быть, тоже взгляну.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...