Я бы сказал, что для томов данных с 20000 строками, с которыми вы работаете, база данных сервера SQL на самом деле не принесет вам много пользы, кроме перехода к хранимым процедурам для манипулирования данными. В этом отношении он, возможно, лучше, чем VBA, поэтому вы, вероятно, получите код, который более удобен в обслуживании. Однако объемы данных, которые вы описываете, крошечные по стандартам базы данных. Я не ожидал, что производительность будет проблемой, пока у вас не будет данных на один-два порядка больше.
Если вы хотите выполнить работу munging data , вам лучше использовать язык сценариев, такой как Perl или Python . Эти языки намного лучше для задач манипулирования данными, чем C # или VB.Net. Хорошие, бесплатные дистрибутивы Windows как для Perl, так и для Python можно найти по адресу www.activestate.com .
Excel можно создавать с Python через интерфейс python-com , используя тот же API, что и VBA, но получая гораздо лучший язык с огромным разнообразием доступных библиотек. Точно так же это можно сделать с помощью Perl через Win32 :: OLE . Есть также некоторые служебные библиотеки, такие как pyexcelerator , xlrd и xlwt , для Python и Spreadsheet :: WriteExcel / Spreadsheet :: ParseExcel для Perl. Есть также модули, доступные для создания устанавливаемых приложений Windows, такие как Py2EXE или Perl Dev Kit
В этом посте Stackoverflow обсуждается использование Excel из Python, в том числе создание оболочки с MakePy, немного более подробно.
Если вы работаете с .Net, вы также можете попробовать IronPython - это нативная реализация .Net Python, которая будет работать где угодно с установленной подходящей средой выполнения .Net. Вы также можете получить бесплатный плагин для Visual Studio под названием IronPythonStudio ).
Другая альтернатива - R . R - это, прежде всего, статистический пакет, но основной язык обладает мощными возможностями манипулирования данными и множеством библиотек интерфейса (и других, таких как графика, различные статистические вычисления и интерфейс Excel. . Это на самом деле довольно мощный общий инструмент для работы с данными и отчетности.