IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> С++ Builder6 & Excel
18192123
сообщение 4.10.2009 21:10
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Здравствуйте!

Подскажите пожалуйста, можно ли содержимое компонента-таблицы StringGrid экспортировать в документ Excel?
Если да, то как это делается?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 14.11.2009 14:45
Сообщение #2


Гость






Вот основа кода:
bool Xls_To_StringGrid(TStringGrid *AGrid, String AXLSFile)
{
const xlCellTypeLastCell = 0x0000000B;
Variant XLApp = CreateOleObject("Excel.Application");

XLApp.OlePropertyGet("Application").OlePropertyGet("Workbooks").
OleProcedure("Open", AXLSFile.c_str());
XLApp.OlePropertySet("Visible", false);
Variant Sheet = XLApp.OlePropertyGet("ActiveSheet");

XLApp.OlePropertyGet("Cells").
OlePropertyGet("SpecialCells", xlCellTypeLastCell).OleProcedure("Activate");
int x = XLApp.OlePropertyGet("ActiveCell").OlePropertyGet("Row");
int y = XLApp.OlePropertyGet("ActiveCell").OlePropertyGet("Column");
AGrid->RowCount = x;
AGrid->ColCount = y;

for(int rows = 0; rows < x; rows++)
{
for(int cols = 0; cols < y; cols++)
{
AGrid->Cells[AGrid->FixedCols + cols][AGrid->FixedRows + rows] =
Sheet.OlePropertyGet("Cells").
OlePropertyGet("Item", rows + 1 , cols + 1);
}
}

Sheet = Unassigned;
XLApp.OlePropertyGet("Application").OleProcedure("Quit");
XLApp = Unassigned;
return true;
}

void __fastcall TFormRegModel::ButClick(TObject *Sender)
{
if(Xls_To_StringGrid(StringGrid1, "D:\\book1.xls"))
{
ShowMessage("Table has been exported!");
}
}
, всякие обработки исключений повесь сама...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 1:40
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"