Variant WorkExcel, WorkBook, WorkSheet, CellsRange; WorkExcel = Variant::CreateObject("Excel.Application");//Start Excel WorkExcel.OlePropertySet("Visible",true);//Open Excel WorkBook = WorkExcel.OlePropertyGet("Workbooks"); WorkBook.Exec(Procedure("Add"));//Add a new workbook WorkBook = WorkExcel.OlePropertyGet("ActiveWorkbook"); WorkSheet = WorkBook.OlePropertyGet("ActiveSheet"); WorkSheet.OlePropertyGet("Cells").OlePropertyGet("Item",1,1).OlePropertySet("Value","Title"); WorkSheet.OlePropertyGet("Cells").OlePropertyGet("Item",2,1).OlePropertySet("Value","row(y)=2,column(x)=1"); CellsRange = WorkSheet.OlePropertyGet("Range","A1:C1"); CellsRange.OlePropertyGet("Cells").OleFunction("Select"); CellsRange.OlePropertyGet("Cells").OleFunction("Merge"); WorkSheet.OlePropertyGet("Range","A2").OlePropertyGet("Cells").OleFunction("Select"); //WorkSheet.OlePropertyGet("Range","A2").OlePropertyGet("Cells").OlePropertySet("HorizontalAlignment","xlCenter"); WorkSheet.OlePropertyGet("Cells").OlePropertyGet("Item",5,5).OlePropertySet("Value","123456.123"); WorkSheet.OlePropertyGet("Range","E:E").OlePropertyGet("Cells").OleFunction("Select"); WorkSheet.OlePropertyGet("Range","E:E").OlePropertyGet("Cells").OlePropertySet("Style","Comma"); WorkSheet.OlePropertyGet("Range","A2").OlePropertyGet("Cells").OleFunction("Select"); WorkSheet.OlePropertyGet("Range","A2").OlePropertyGet("Cells").OleFunction("Activate"); AnsiString abc = WorkSheet.OlePropertyGet("Cells",5,5).OlePropertyGet("Value"); ShowMessage(abc); return; Query1->Active = False; Query1->SQL->Clear(); Query1->SQL->Add("select * from T_Department"); Query1->Active = True; int i, row = 3, column = 1; AnsiString T_Value; for (i = 0; i < Query1->FieldCount; i++) { WorkSheet.OlePropertyGet("Cells").OlePropertyGet("Item",row,column + i).Exec(PropertySet("Value") << Query1->Fields->Fields[i]->FieldName.c_str()); } Query1->First(); while (!Query1->Eof) { ++row; for (i = 0; i < Query1->FieldCount; i++) //WorkSheet.OlePropertyGet("Cells").OlePropertyGet("Item",row,column + i).Exec(PropertySet("Value") << Query1->Fields->Fields[i]->AsString.c_str()); WorkSheet.OlePropertyGet("Cells",row,column + i).OlePropertySet("Value",Query1->Fields->Fields[i]->AsString.c_str()); Query1->Next(); } Query1->Active = False; CellsRange = WorkSheet.OlePropertyGet("Range","A1:IV65536"); CellsRange.OlePropertyGet("Cells").OleFunction("Select"); CellsRange.OlePropertyGet("Cells").OlePropertyGet("Font").OlePropertySet("size",10); CellsRange.OlePropertyGet("Columns").OleFunction("AutoFit");


1条评论

  1. 不错,很好的东西,另外我想问一下的就是在同一个workbook中,是怎么建立多个worksheet,并可以分别进行操作,谢谢!请指教。

发表评论

评论也有版权!

click to change验证码