vc6操作Excel2003(二)

来源:互联网 发布:c windows api 编辑:程序博客网 时间:2024/05/17 22:00

这篇代码和上篇是一样的,只是代码更简洁!

void CTestExcelDlg::OnButton1()
{
 // TODO: Add your control notification handler code here
 _Application app;
 Workbooks books;
 _Workbook book;
 Worksheets sheets;
 _Worksheet sheet;
 Range range;
 Font font;
 Range cols;

 
 if( !app.CreateDispatch("Excel.Application") ){
  this->MessageBox("无法创建Excel应用!");
  return;
 }
 books=app.GetWorkbooks();
 app.SetVisible(false);
 COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);

 book=books.Add(covOptional);
 sheets=book.GetWorksheets();
 app.SetVisible(true);
 sheet=sheets.GetItem(_variant_t((long)1));
 range=sheet.GetCells();
 range.SetItem(_variant_t((long)1),_variant_t((long)1),_variant_t("test"));
 sheet=sheets.GetItem(_variant_t((long)2));
 range=sheet.GetCells();
 range.SetItem(_variant_t((long)1),_variant_t((long)1),_variant_t("test"));
 sheet=sheets.GetItem(_variant_t((long)3));
 range=sheet.GetCells();
 sheet.Copy(vtMissing,_variant_t(sheet));

 app.SetUserControl(TRUE);

 book.SaveAs(COleVariant("C://a.xls"),covOptional,
  covOptional,covOptional,
  covOptional,covOptional,(long)0,covOptional,covOptional,covOptional,covOptional,
  covOptional);
}