VC 操作Excel 2007的基本操作!
来源:互联网 发布:淘宝2.5亿火炬红包 编辑:程序博客网 时间:2024/05/16 19:18
-
- _Application app;
- Workbooks books;
- _Workbook book;
- Worksheets sheets;
- _Worksheet sheet;
- Range range;
- LPDISPATCH lpDisp;
- COleVariant vResult;
-
- CString str = "";
-
- COleVariant
- covTrue((short)TRUE),
- covFalse((short)FALSE),
- covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
-
-
- if (!app.CreateDispatch("Excel.Application",NULL))
- {
- AfxMessageBox("Create Excel service failure!");
- return;
- }
-
-
-
- app.SetVisible(TRUE);
- books.AttachDispatch(app.GetWorkbooks(),true);
-
-
-
-
-
- lpDisp = books.Open("E://test.xls",
- covOptional, covOptional, covOptional, covOptional,
- covOptional, covOptional, covOptional, covOptional,
- covOptional, covOptional, covOptional, covOptional,
- covOptional, covOptional);
- ASSERT(lpDisp);
-
- book.AttachDispatch(lpDisp);
-
-
- sheets.AttachDispatch(book.GetWorksheets(),true);
-
-
- sheet.AttachDispatch(sheets.GetItem(_variant_t((short)(1))));
-
-
- range.AttachDispatch(sheet.GetCells(),true);
-
-
-
- range.SetItem(_variant_t((LONG)1),_variant_t((LONG)1),_variant_t("hello word!"));
-
-
- range.AttachDispatch(sheet.GetRange(_variant_t("A2"), _variant_t("A2")),true);
- range.SetValue2(_variant_t("2011/02/15"));
-
-
- range.AttachDispatch(sheet.GetRange(_variant_t("A3"), _variant_t("A6")),true);
- range.SetValue2(_variant_t((double)3.14));
-
-
- range.AttachDispatch(sheet.GetRange(_variant_t("A1"), _variant_t("A1")),true);
- range.SetColumnWidth(_variant_t((long)12));
-
-
- range.AttachDispatch(sheet.GetCells(),true);
- range.SetHorizontalAlignment(_variant_t((long)-4108));
- range.SetVerticalAlignment(_variant_t((long)-4108));
-
-
- range.AttachDispatch(range.GetItem(_variant_t((long)(4)),_variant_t((long)(1))).pdispVal );
- vResult =range.GetValue(covOptional);
-
- switch (vResult.vt)
- {
- case VT_BSTR:
- str=vResult.bstrVal;
- break;
- case VT_R8:
- str.Format("%f",vResult.dblVal);
- break;
- case VT_DATE:
- SYSTEMTIME st;
- VariantTimeToSystemTime(vResult.date, &st);
- break;
- case VT_EMPTY:
- str="";
- break;
- }
-
-
- Font ft;
-
- range.AttachDispatch(sheet.GetRange(_variant_t("A3"), _variant_t("A5")),true);
- ft.AttachDispatch(range.GetFont());
- ft.SetName(_variant_t("华文行楷"));
- ft.SetSize(_variant_t((long)12));
-
- ft.SetColor( _variant_t((long) RGB(255, 0, 0) ) );
- ft.SetBold(_variant_t((long)1));
-
- Interior it;
-
- range.AttachDispatch(sheet.GetRange(_variant_t("C3"), _variant_t("E6")),true);
- it.AttachDispatch(range.GetInterior());
- it.SetColorIndex(_variant_t((long)20));
-
- Borders borders;
- borders = range.GetBorders();
- borders.SetColorIndex(_variant_t((long)1));
- borders.SetLineStyle(_variant_t((long)1));
- borders.SetWeight(_variant_t((long)2));
-
-
-
- range.BorderAround(_variant_t((long)9),_variant_t((long)1),_variant_t((long)1),vtMissing);
-
- range.AttachDispatch(sheet.GetRange(_variant_t("C8"), _variant_t("D9")),true);
-
- range.Merge(_variant_t((long)0));
-
-
- book.Save();
-
-
-
-
- range.ReleaseDispatch();
- sheet.ReleaseDispatch();
- sheets.ReleaseDispatch();
- book.ReleaseDispatch();
- books.ReleaseDispatch();
- app.ReleaseDispatch();
- books.close();
- app.quit();