Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Ввод данных в Excel

567
26 сентября 2001 года
well
14 / / 20.06.2000
Подскажите, профессионалы, как перевести данные таблицы (Table1) в формат Excel.
Хорошо, если приведете пример.
(Borland C++ Builder 5.0)
539
17 октября 2001 года
Ivan
30 / / 20.07.2000
У меня нормально данный код работает в BC5
Использую в головной программе
SP_Otchet->Open();
RunExportToExcel(SP_Otchet);
SP_Otchet->Close();

/*******************************************/
#include <vcl.h>
#include &quot;ExportToExcel.h&quot;
#include &quot;Excel.h&quot;
void __fastcall RunExportToExcel(TDataSet *_DataSet)
{
TfrmToExcel *frmToExcel;
if (_DataSet->Active == false)
{
ShowMessage(&quot;Impossible run this operation. Activuate request!&quot;);
exit(-1);
}
Application->CreateForm(__classid(TfrmToExcel), &amp;frmToExcel);
frmToExcel->MainDataSet = _DataSet;
frmToExcel->ShowModal();
}
/*******************************************/
#include <vcl.h>
#include &quot;Excel.h&quot;
#include &quot;ExportToExcel.h&quot;
TfrmToExcel *frmToExcel;
__fastcall TfrmToExcelTfrmToExcel(TComponent* Owner)
TForm(Owner){}
void __fastcall TfrmToExcelBitBtn1Click(TObject *Sender)
{
BOOL CheckFields;
Variant ExcelLists, ExcelList, ListSheet;
int ARec, ACol, i;
TBookmark _BookMark;
_FileName = &quot;&quot;;
ExcelObject = CreateOleObject(&quot;Excel.Application&quot;);
ExcelLists = ExcelObject.OlePropertyGet(&quot;Workbooks&quot;);
if(SaveDialog1->Execute())
{
_FileName = SaveDialog1->FileName;
if(!FileExists(_FileName))
{
int iFileHandle;
iFileHandle = FileCreate(_FileName);
if(!iFileHandle)
throw Exception(&quot;Cannot create file&quot;);
FileClose(iFileHandle);
}
}
else exit(0);
ExcelLists.Exec(Procedure(&quot;Open&quot;)<<_FileName);
ExcelList = ExcelLists.OlePropertyGet(&quot;item&quot;,1);
ListSheet= ExcelList.OlePropertyGet(&quot;WorkSheets&quot;,1);
_BookMark = MainDataSet->GetBookmark();
MainDataSet->DisableControls();

MainDataSet->First();
ACol = 0;
TStringList *list;
list = new TStringList;
MainDataSet->GetFieldNames(list);
for(int i=0; i<list->Count; i++)
{
setValue(0, ACol, list->Strings, ListSheet);
ACol++;
}

ARec = 1;
while (!MainDataSet->Eof)
{
ACol = 0;
for(int i=0; i<list->Count; i++)
if(!MainDataSet->FieldByName(list->Strings)->Value.IsNull())
try
{
setValue(ARec, ACol, MainDataSet->FieldByName(list->Strings)->Value, ListSheet);
}
catch(...){}
ACol++;

}
Application->ProcessMessages();
MainDataSet->Next();
ARec++;
}
MainDataSet->GotoBookmark(_BookMark);
MainDataSet->FreeBookmark(_BookMark);
MainDataSet->EnableControls();
ShowMessage(&quot;Export complete!&quot;);
ExcelObject.OlePropertySet(&quot;Visible&quot;, 1);
}
char* __fastcall TfrmToExceltoText(int row, int col)
{
static char cellText[256] ;
cellText[0] = 'A' + col ;
sprintf(&amp;cellText[1],&quot;%d&quot;,row+1);
return cellText;
}
void __fastcall TfrmToExcelsetValue(int row, int col, AnsiString as, Variant ListSheet)
{
Variant r = ListSheet.OlePropertyGet(&quot;Range&quot;, toText(row,col) );
r.OlePropertySet(&quot;Value&quot;, String(as));
}

567
19 октября 2001 года
well
14 / / 20.06.2000
[quote]
On 2001-10-17 0759, Ivan wrote
У меня нормально данный код работает в BC5
Использую в головной программе
SP_Otchet->Open();
RunExportToExcel(SP_Otchet);
SP_Otchet->Close();

/*******************************************/
#include <vcl.h>
#include &quot;ExportToExcel.h&quot;
#include &quot;Excel.h&quot;
void __fastcall RunExportToExcel(TDataSet *_DataSet)
{
TfrmToExcel *frmToExcel;
if (_DataSet->Active == false)
{
ShowMessage(&quot;Impossible run this operation. Activuate request!&quot;);
exit(-1);
}
Application->CreateForm(__classid(TfrmToExcel), &amp;frmToExcel);
frmToExcel->MainDataSet = _DataSet;
frmToExcel->ShowModal();
}
/*******************************************/
#include <vcl.h>
#include &quot;Excel.h&quot;
#include &quot;ExportToExcel.h&quot;
TfrmToExcel *frmToExcel;
__fastcall TfrmToExcelTfrmToExcel(TComponent* Owner)
TForm(Owner){}
void __fastcall TfrmToExcelBitBtn1Click(TObject *Sender)
{
BOOL CheckFields;
Variant ExcelLists, ExcelList, ListSheet;
int ARec, ACol, i;
TBookmark _BookMark;
_FileName = &quot;&quot;;
ExcelObject = CreateOleObject(&quot;Excel.Application&quot;);
ExcelLists = ExcelObject.OlePropertyGet(&quot;Workbooks&quot;);
if(SaveDialog1->Execute())
{
_FileName = SaveDialog1->FileName;
if(!FileExists(_FileName))
{
int iFileHandle;
iFileHandle = FileCreate(_FileName);
if(!iFileHandle)
throw Exception(&quot;Cannot create file&quot;);
FileClose(iFileHandle);
}
}
else exit(0);
ExcelLists.Exec(Procedure(&quot;Open&quot;)<<_FileName);
ExcelList = ExcelLists.OlePropertyGet(&quot;item&quot;,1);
ListSheet= ExcelList.OlePropertyGet(&quot;WorkSheets&quot;,1);
_BookMark = MainDataSet->GetBookmark();
MainDataSet->DisableControls();

MainDataSet->First();
ACol = 0;
TStringList *list;
list = new TStringList;
MainDataSet->GetFieldNames(list);
for(int i=0; i<list->Count; i++)
{
setValue(0, ACol, list->Strings, ListSheet);
ACol++;
}

ARec = 1;
while (!MainDataSet->Eof)
{
ACol = 0;
for(int i=0; i<list->Count; i++)
if(!MainDataSet->FieldByName(list->Strings)->Value.IsNull())
try
{
setValue(ARec, ACol, MainDataSet->FieldByName(list->Strings)->Value, ListSheet);
}
catch(...){}
ACol++;

}
Application->ProcessMessages();
MainDataSet->Next();
ARec++;
}
MainDataSet->GotoBookmark(_BookMark);
MainDataSet->FreeBookmark(_BookMark);
MainDataSet->EnableControls();
ShowMessage(&quot;Export complete!&quot;);
ExcelObject.OlePropertySet(&quot;Visible&quot;, 1);
}
char* __fastcall TfrmToExceltoText(int row, int col)
{
static char cellText[256] ;
cellText[0] = 'A' + col ;
sprintf(&amp;cellText[1],&quot;%d&quot;,row+1);
return cellText;
}
void __fastcall TfrmToExcelsetValue(int row, int col, AnsiString as, Variant ListSheet)
{
Variant r = ListSheet.OlePropertyGet(&quot;Range&quot;, toText(row,col) );
r.OlePropertySet(&quot;Value&quot;, String(as));
}


Спасибо большое!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог