Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Портал .::2BakSa.WS::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование > Borland C++ Builder

Уважаемые пользователи nowa.cc и 2baksa.ws. У нас сложилось тяжёлое финансовое положение. Мы работаем для вас вот уже более 15 лет и сейчас вынуждены просить о помощи. Окажите посильную поддержку проектам. Мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: 826074280762 Webmoney WME: 804621616710
PayPal PayPal_Email E-mail для связи по вопросу помощи
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!
Ответ
 
Опции темы Опции просмотра Language
Старый 17.10.2010, 00:04   #1
Пользователь
 
Пол:Мужской
Регистрация: 13.10.2007
Сообщений: 186
Репутация: 192
По умолчанию StringGrid -> Excel

Добрый день!
Подскажите как из StringGrid в Excel перекинуть данные.
Гуглил, но чтото не помогает.
Кто нибудь может по полочкам рассказать, как и что делать надо.
Alex333 вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: соколова подозревает всех 3 чем закончилосьджон уик 3 смотреть онлайн в хорошем качествекровати-раскладушкистолы обеденные деревянныеконцерты ярославль афиша руки вверх


Старый 17.10.2010, 10:06   #2
BookkeeperW
Пользователь
 
Пол:Мужской
Регистрация: 26.03.2008
Сообщений: 67
Репутация: 28
По умолчанию Re: StringGrid -> Excel

Цитата:
Сообщение от Alex333 Посмотреть сообщение
Гуглил, но чтото не помогает...

Почитай http://wladm.narod.ru/Borland/excel.html ... Откинь что не нужно...
Создай цикл (например "For ...") и выведи свои данные.
BookkeeperW вне форума
 
Ответить с цитированием Вверх
Эти 2 пользователя(ей) сказали cпасибо за это полезное сообщение:
Старый 17.10.2010, 10:10   #3
Pagon4eg
Постоялец
 
Аватар для Pagon4eg
 
Пол:Мужской
Регистрация: 17.07.2010
Адрес: Россия
Сообщений: 252
Репутация: 275
По умолчанию Re: StringGrid -> Excel

На самом деле там все довольно просто, советую почитать вот эту статью.
А если подробно, то вот что для этого нужно сделать:
1) Подключить 2 модуля #include <ComObj.hpp> и #include <utilcls.h>;
2) Объявить глобально (можно и локально, например в функции) переменные:
Variant vVarApp,vVarBooks,vVarBook,vVarSheets,vVarSheet,vV arCells,vVarCell;
3) Создаем объект vVarApp=CreateOleObject("Excel.Application"). Если нужно сделать Excel видимым, то пишешь такой код vVarApp.OlePropertySet("Visible",true);
4) vVarBooks=vVarApp.OlePropertyGet("Workbooks") - набор рабочих книг.
vVarApp.OlePropertySet("SheetsInNewWorkbook",X) - задаем количество листов в книге (вместо X указываем число, например 3 - значит будет 3 листа в книге), vVarBooks.OleProcedure("Add") добавляем созданную книгу.
Если нужно добавить еще книгу, то повторяем код.
vVarBook=vVarBooks.OlePropertyGet("Item",1) - делаешь текущей 1 книгу или другую, если их несколько.
vVarSheet=vVarSheets.OlePropertyGet("Item",1) - устанавливаем 1 лист в качестве текущего.
vVarSheet.OlePropertySet("Name","Лист") - тут можно изменить имя созданного листа.
Один из этапов завершен.
Для того, чтобы перенести данные в Excel нужно создать цикл (while или for) и в нем написать следующий код:
vVarCell=vVarSheet.OlePropertyGet("Cells").OleProp ertyGet("Item",x,y) - выбираем ячейку, вместо x и y нужно поставить число, например 1,1 - будет выбрана ячейка A1.
xVarCell.OlePropertySet("Value",n) - записываем в выбранную ячейку данные, здесь вместо n ставишь значение из ячейки StringGrid указывая для нее столбец и строку.
И так повторяешь для остальных ячеек.
Про форматирование писать не буду, посмотришь в статье, там хорошо об этом написано.
Чтобы сохранить книгу: xVarSheet.OleProcedure("SaveAs",SaveFile.c_str()) - здесь переменная SaveFile типа AnsiString, которая содержит путь куда сохранить документ. Указывать расширение файла необязательно, тогда будет по-умолчанию (для 2003 это *.xls, 2007 - *.xlsx). Если Excel больше не нужен, то закрываешь его xVarApp.OleProcedure("Quit").
Для удобства советую использовать Visual Basic, т.е. в Excel создаешь документ, потом записываешь макрос и открываешь его код и переводишь на C++.
Удачи
P.S. Пока набирал сообщение уже опередили

Последний раз редактировалось Pagon4eg; 17.10.2010 в 10:15.. Причина: P.S.
Pagon4eg вне форума
 
Ответить с цитированием Вверх
Эти 4 пользователя(ей) сказали cпасибо за это полезное сообщение:
Старый 21.07.2011, 16:34   #4
firdaws
Неактивный пользователь
 
Пол:Мужской
Регистрация: 21.07.2011
Сообщений: 4
Репутация: 0
По умолчанию Re: StringGrid -> Excel

Пользуйся AdvStringGrid от TMS.
firdaws вне форума
 
Ответить с цитированием Вверх
Ответ

Опции темы
Опции просмотра

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
StringGrid с поддержкой Unicode zark1982 Компоненты 16 10.07.2011 02:05
Компонент StringGrid для Delphi PIANOR Компоненты 16 15.02.2010 20:33
VCL для Excel Embolus Delphi 26 13.11.2008 23:25
Экспорт StringGrid в Word Lis_ Borland C++ Builder 1 27.09.2007 16:09

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 14:55. Часовой пояс GMT +3.


Copyright ©2004 - 2024 2BakSa.WS

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.15923 секунды с 13 запросами