Что делать, если существуют какие-либо ссылки на бесплатные библиотеки "вспомогательных" классов Excel для C #? - PullRequest
10 голосов
/ 24 августа 2010

Я ищу любые доступные бесплатные "вспомогательные" классы Excel, написанные для .net (необязательно C #).Я хотел бы оценить то, что другие считают полезными и общими статическими (и не статичными) вспомогательными методами.Может быть нацелен на VSTO или обычную автоматизацию Office, хотя это, вероятно, не имеет значения.

Полагаю, я должен также указать, что этот вопрос НЕ задает вопрос: «Каковы хорошие альтернативы (или бесплатные альтернативы) использованию?Автоматизация объектной модели Excel. Мне не нужны ссылки на SS-оборудование и т. Д., Хотя все они являются отличными продуктами, и цель этого вопроса не в этом.

На случай, если в предыдущем абзаце мне не хватило ясности: Мне не нужны ответы с таким состоянием - используйте этот бесплатный (или не бесплатный) сторонний компонент вместо кода объектной модели Excel.

Итак, в основном я спрашивал о библиотеках кода C #, разработанных пользователем, которые содержатВспомогательные функции VSTO, Office или Excel, такие как статические методы для работы с меню, лентами, диапазонами, рабочими книгами, документами, xml (например, упомянутые otaku) ...

Ответы [ 8 ]

4 голосов
/ 07 сентября 2010

С точки зрения автоматизации Office для Excel, есть несколько хороших командлетов PowerShell Open XML, которые можно использовать для PS или перенести на C # на Объявление о выпуске PowerTools для Open XML V1.1 .В блоге Эрика Уайта, где находится эта ссылка, недавно более подробно рассматривается автоматизация Excel с использованием Open XML, например разметка таблицы в Open XML SpreadsheetML .Примечание об Open XML - хотя для многих это предпочтительный метод, вам на самом деле не нужно использовать Open XML SDK - вы можете просто использовать System.IO.Packaging, чтобы получить доступ к файлам Excel 2007/2010.

Кроме того, часто упускается из виду, но фрагменты Excel, доступные для VSTO, Open XML и Interop, великолепны. 1 , 2 , 3

Также ознакомьтесь с примерами Excel для VB @ http://msdn.microsoft.com/en-us/library/8x19fbw1(v=VS.90).aspx. Они поставляются с VSкогда вы также выбираете VB в качестве языка во время установки.

Обновление: Только что обнаружил платформу All-In-One Code Framework (Office), в которой есть много отличных вспомогательных классов Excel.Вы можете найти его на: http://1code.codeplex.com/releases/view/51868.

3 голосов
/ 26 августа 2010

ExcelDNA - очень крутой проект.Он обеспечивает легкий способ использования кода .NET из Excel с моделью развертывания, которая намного проще, чем VSTO.Я нашел интересную альтернативу VSTO, если вы хотите написать UDF, например, в .NET.

3 голосов
/ 24 августа 2010

VSTO Power Tools - хороший набор утилит для работы с Excel:
http://msdn.microsoft.com/en-us/magazine/dd263100.aspx

2 голосов
/ 09 сентября 2010

Мне очень нравится NPOI для форматов 2003/2007

http://npoi.codeplex.com/

Полностью автономный и простой в использовании

2 голосов
/ 09 сентября 2010

Я предпочитаю этот:

Пакет Excel на CodePlex

он использует Open XML, поэтому нет необходимости устанавливать его на компьютере (можетне учитывается), но я обнаружил, что его очень легко использовать и настроить.

2 голосов
/ 08 сентября 2010

С динамическим написанием ключевых слов в .net 4.0 автоматизация Excel просто как ад.
Если вы хотите использовать intellisense, вы можете легко написать оболочку c # поверх динамических вызовов.

ОБНОВЛЕНИЕ
Мы работаем с Excelавтоматизация с 2001 года (разработка финансовых надстроек). От Excel 2000 до 2010 года.

И все мы знаем, что стандартное взаимодействие просто не работает, когда ваш код должен работать со всеми версиями и пакетами обновлений Office.

Мы много раз избивали пользовательские библиотеки взаимодействия, версии VSTO и т. Д. Через год мы нашли только одно работающее решение - вызвать всю автоматизацию с помощью вызовов с поздним связыванием (рефлексия).то есть ('' код блокнота '') Type.GetTypeFromProgId('Excel.Application').GetMethod('Visible').Invoke(....).

Но код был очень большим и уродливым, тогда мы просто упаковываем этот уродливый код с объектной моделью, скопированной из Excel 1: 1.Когда нам нужен новый метод, мы добавляем его в нашу объектную модель Excel и вызываем автоматизацию Excel через вызов с поздним связыванием.

С новым динамическим ключевым словом можно обойтись без оболочки, особенно с динамической поддержкой Resharper.

2 голосов
/ 08 сентября 2010

Существует один, называемый FileHelpers , который позволяет сохранять данные Excel в формате CSV, а библиотека FileHelpers может легко анализировать информацию и т. Д., Конечно, она может быть не полностью автоматизирована, но это хороший путь к разбору. Если вы говорите о возможности работать с Excel в собственном двоичном виде, то эта статья от CodeProject может помочь, также здесь BIFF-анализатор , который понимает базовые данные Excel хранилище, а также здесь на CodeProject.

2 голосов
/ 24 августа 2010

Для проектов ВСТО:

http://www.add -in-express.com /

Без VSTO, без автоматизации:

http://www.html -to-pdf.net / первенствует-library.aspx

Примечание: ни одна из этих библиотек не является бесплатной.

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