Что делать, если существуют какие-либо ссылки для бесплатных библиотек классов "помощник" Excel для С#?

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

Думаю, я должен также указать, что этот вопрос НЕ просит "какие хорошие альтернативы (или бесплатные альтернативы) использовать автоматизацию объектной модели Excel. Мне не нужны ссылки на передачу SS и т.д., хотя они все отличные продукты, которые не являются целью вопроса.

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

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

Ответ 1

С точки зрения автоматизации Office для Excel, есть несколько хороших командлетов PowerShell Open XML, которые можно использовать для PS или перенести на С# на Объявление о выпуске 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 (Office), в которой есть много отличных вспомогательных классов Excel. Вы можете найти его на: http://1code.codeplex.com/releases/view/51868.

Ответ 3

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

Ответ 5

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

Ответ 6

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

UPDATE
Мы работаем с автоматизацией Excel с 2001 года (разрабатываем финансовые надстройки). С Excel 2000 до 2010 года.

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

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

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

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

Ответ 7

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

Пакет Excel на CodePlex

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

Ответ 8

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

http://npoi.codeplex.com/

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