Параметры для работы с файлами Excel полагаясь только на стандартных .NET Framework пространство имен ограничено. На ум приходят две возможности. Первый является «самым простым», но применим только в том случае, если ваш основной интерес заключается в работе с контентом в качестве базы данных. Второй позволяет вам делать «что угодно» с книгой Excel, но кривая обучения будет крутой.
Оба эти подхода подходят для работы в серверной среде (в отличие от тех, которые требуют наличия приложения Excel) и не требуют каких-либо лицензий.
- Вы можете использовать соединение OLE DB (поставщик ACE OLE DB) для связи с содержимым книги Excel. Он позволяет подключаться к отдельным рабочим листам, а также к именованным диапазонам. Поддерживается базовая функциональность SQL.
Формат файла Excel 2007 и более поздних версий - это Office Open XML (OOXML). Эти файлы представляют собой «zip-пакеты», содержащие файлы (по большей части xml), составляющие книгу. Таким образом, любые стандартные инструменты, которые могут работать с Zip-пакетами и XML, могут использоваться для открытия книги Excel, редактирования содержимого, а затем закрытия рабочей книги. В .NET Framework это будет System.IO.Packaging (в WindowsBase.dll, как правило, нужно ссылаться конкретно) и пространства имен System.XML.
Документация для форматов файлов - стандарт ECMA-376 (http://www.ecma-international.org/publications/standards/Ecma-376.htm). Полезным он-лайн ресурсом является openxmldeveloper.org.
Обратите внимание, что Microsoft также предоставляет Open XML SDK, бесплатную загрузку, которая может быть распространена без лицензии с вашим решением. Open XML SDK уменьшает «кривую обучения», поскольку это уменьшает объем знаний, необходимых вам для форматов файлов OOXML. Я упомянул об этом ради полноты, потому что знаю, как сложно пытаться работать непосредственно с файловым форматом. Кроме того, поскольку DLL свободно распространяется и может быть скопирована как часть вашего решения, она может соответствовать вашим требованиям.
Неясно, имеете ли вы в виду, что хотите сделать это, не используя приложение Excel, или, если хотите, просто хотите управлять книгой в Excel, но без ссылки на библиотеки PIAs/COM. Обе возможности возможны - без использования сторонних инструментов, но подходы очень разные –
В моем случае лучшее решение будет без каких-либо сторонних инструментов и ссылок. Только NET. Добавлено на вопрос! – Fruchtzwerg
Вы все еще не ответили на мой вопрос: должно ли ваше решение работать с приложением Excel («interop») или нет? Спрошено по-другому: будет ли это в серверной среде? Вы можете рассчитывать на присутствие приложения Excel? –