Создание Excel SpreadsheetML в коде. (Без Excel!) - PullRequest
3 голосов
/ 08 июня 2009

В Excel 2003 и более поздних версиях можно использовать формат SpreadsheetML для создания электронных таблиц Excel с использованием только таблицы стилей XML и файла данных XML. Я использовал это в каком-то проекте и работает довольно хорошо, хотя это нелегко сделать. С сайта Microsoft Download я скачал XSD, которые составляют SpreadsheetML, и, по моему незнанию, я пытался преобразовать их в классы C #. К сожалению, xsd.exe не очень рад этим файлам схемы, поэтому я склонен застрять. Мне не нужно альтернативное решение SpreadsheetML, так как оно отлично работает для моих нужд. Просто мой код будет легче поддерживать для членов моей команды, если он не написан в сложной таблице стилей. (Быть единственным экспертом по XSLT в вашей компании - отстой.)

Все, что я хочу знать, если кто-то успешно создал файлы Excel SpreadsheetML с .NET без использования стороннего кода и без XSLT. И если ты это сделаешь, как ты это решил?

(Или, может быть, мне просто нужно узнать, как добавить пространства имен к элементам XML в XML.Linq ...)

Ответы [ 3 ]

1 голос
/ 08 июня 2009

Некоторое время назад я использовал XmlDocument и друзей для создания документа SpreadsheetML с формулами, форматами и т. Д., Так что это возможно, если немного скучно.

Эта страница MSDN - это то, что вам нужно, чтобы начать использовать пространство имен в LINQ.

1 голос
/ 26 августа 2009

Я использовал эту библиотеку, и есть даже инструмент для генерации необходимого вам кода на C # из существующего файла Excel. http://www.carlosag.net/Tools/ExcelXmlWriter/

0 голосов
/ 08 июня 2009

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

Тогда я упоминал об этом http://www.codeproject.com/KB/aspnet/ExportClassLibrary.aspx?fid=113399&df=90&mpp=25&sort=Position&tid=2609600

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

ура

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