Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с файлами Excel, как программно изменять файлы xls? 
:(
    Опции темы
AzuManga
Дата 23.6.2005, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 12.5.2005

Репутация: нет
Всего: нет



Здравствуйте, коллеги 8))

Может кому-нибудь приходилось программно с помощью Visual Studio работать с файлами Excel?
Надо просто открыть файл, изменить некоторые значения в определенных ячейках, а потом сохранить и закрыть 8)) Это возможно с помощью стандартных средств Visual Studio? Может нужно скачать какой-нибудь компонент дополнительный? Также буду благодарен за ссылки 8))

Большое спасибо за помощь 8))
--------------------
 Точка с запятой; 
PM MAIL   Вверх
Orlan
Дата 29.7.2005, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 10.6.2004
Где: Киев

Репутация: нет
Всего: 1



Все это можно сделать через объектную модель Экселя
Делаеш import нужных дллок и работаеш с экселем как с ком объектом.

Хорошая статья по теме : Automating Microsoft Office 97 and Microsoft Office 2000 http://msdn.microsoft.com/library/default....html/offaut.asp

Если надо просто создавать отчеты, то проще будет готовить их в HTML/XML форматах, которые ориентированы на Эксель, а потом просто открывать.

Вот пример импортирования.
Код

#ifdef USES_MSO2000

#import "C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\MSO9.DLL"
#import "C:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\VBA6\VBE6EXT.OLB"

#ifdef USES_MSO_EXCEL
#import "C:\Program Files\Microsoft Office\Office\EXCEL9.OLB" \
        rename("DialogBox","DialogBox_XL") \
        rename("RGB","RGB_XL") \
        exclude("IFont","IPicture")
#endif

#ifdef USES_MSO_WORD
#import "C:\Program Files\Microsoft Office\Office\MSWORD9.OLB"\
    rename("ExitWindows", "wdExitWindows")\
    rename("FindText", "wdFindText")
#endif

#endif

/////////////////////////////////////////////////////////////////////////////

#ifdef USES_MSOXP

#import "C:\Program Files\Common Files\Microsoft Shared\Office10\MSO.DLL"
#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"

#ifdef USES_MSO_EXCEL
#import "C:\Program Files\Microsoft Office\Office10\EXCEL.EXE"\
        rename("DialogBox","DialogBox_XL") \
        rename("RGB","RGB_XL") \
        exclude("IFont","IPicture")
#endif

#endif

/////////////////////////////////////////////////////////////////////////////

#ifdef USES_MSO2003

#import "C:\Program Files\Common Files\Microsoft Shared\Office11\MSO.DLL"\
    rename("RGB", "msoRGB")
#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"

#ifdef USES_MSO_WORD
#import "C:\Program Files\Microsoft Office\OFFICE11\MSWORD.OLB"\
    rename("ExitWindows", "wdExitWindows")\
    rename("FindText", "wdFindText")
#endif

#endif


--------------------
А вы знали, что терапевт - это 1024 гигапевта или 1048576 мегапевтов
PM MAIL   Вверх
chaos
Дата 29.7.2005, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: нет
Всего: 44



пользуйся ADO
PM WWW   Вверх
ManiaK
Дата 2.8.2005, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: нет
Всего: 29



Кстати, сразу скажу на что часто натыкаются: удалять ячейки в экселе нельзя!.. Вместо этого нужно записывать туда 'пустоту'.

Это сообщение отредактировал(а) ManiaK - 2.8.2005, 10:20
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0688 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.