Вот моя история про Web компонент Офиса, ускоряющего экспорт-импорт в/из Excel в десятки раз.
.....
COM curSheet;
COM excel = new COM("OWC.Spreadsheet");
COM range;
COM interior;
ComVariant ret;
Str valueCell;
;
curSheet = excel.ActiveSheet();
// Пишем в ячейку:
range = curSheet.range(‘A1’);
range.value(‘Test-test-test’);
// Играем с цветом:
interior = range.interior();
interior.color(‘Green’); // перевод номера цвета в название – отдельная история.
// Рамка, выравнивание, ширина колонки – аналогично
)
// Экспорт в Excel:
excel.export(_fileName, _visible); // _filename – думаю понятно, _visible – показывать рез-т в Excel-е или все сделать вслепую.
// Загрузка в curSheet файла типа txt с разделителями типа tab:
excel.LoadText(_fileName,num2char(9),false, '\\042' );
// Параметры: (File As String, [Delimiters As String], [ConsecutiveDelimAsOne As Boolean = False], [TextQualifier As String = "\042"]) – это описание из VBA
// Читаем из ячейки:
ret = range.text();
valueCell = ret.bStr();
.....
Кто хочет больше, копайте dll-ку MSOWC в папке с Офисом
Загрузить другие типы файлов в этот ActivX теоретически можно, а вот практически сходу не получилось, а копаться не было времени…