|
공부중 님이 쓰신 글 :
: 음 혹시 소스 올려주실수있으세요? 전체적으러 봐야 알꺼 같은데
void __fastcall TForm1::Button1Click(TObject *Sender)
{
while(1)
{
StringGrid1->Cells[iclCnt][irwCnt] = iData;
iclCnt++;
iData++;
if(iclCnt == 10)
{
irwCnt++ ;
iclCnt = 0;
}
if(irwCnt >= 10) break;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
Variant excel_app;
Variant excel_book, excel_books;
Variant excel_sheet;
Variant cells;
Variant Data;
WideString ExcelData;
AnsiString asFileName;
int iclCnt;
int irwCnt;
iclCnt = StringGrid1->ColCount;
irwCnt = StringGrid1->RowCount;
if(SaveDialogProcess->Execute())
{
excel_app = Variant::CreateObject("excel.application");
excel_app.OlePropertySet("Visible", (Variant)false);
excel_books = excel_app.OlePropertyGet("Workbooks");
excel_book = excel_books.OleFunction("Add", 1);
excel_sheet = excel_book.OlePropertyGet("ActiveSheet");
// read Data
for(int Col = 1; Col < iclCnt; Col++)
{
for(int Row = 1; Row < irwCnt; Row++)
{
ExcelData = StringGrid1->Cells[Col][Row];
cells = excel_sheet.OlePropertyGet("Cells",Row , Col); //Cell선택
cells.OlePropertySet("Value", WideString(ExcelData));
}
}
excel_book.OleProcedure("SaveAs" ,SaveDialogProcess->FileName.c_str()); // <--이부분
excel_book.OleFunction("Close", (Variant)False);
excel_sheet = Unassigned;
excel_book = Unassigned;
excel_app.OleFunction("Quit");
excel_app = Unassigned;
}
}
이게 소스인데 간단하게 스트링 그리드 하나 만들고 버튼 두개 만들어서 버튼 1은 스트링 그리드에 0~99까지
채우는 거구요 2번 버튼이 저장하는 거에요
|