?? operation.cpp
字號:
// Operation.cpp: implementation of the COperation class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Student.h"
#include "Operation.h"
#include "comdef.h"
#include "Excel9.h"
#include "istudent.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
extern CStudentApp theApp;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
COperation::COperation()
{
m_iRecID=0;
}
COperation::~COperation()
{
}
///導出表內容到excel
void COperation::ExportToExcel(_RecordsetPtr Rsc)
{
_Application ExcelApp;
Workbooks wbsMyBooks;
_Workbook wbMyBook;
Worksheets wssMysheets;
_Worksheet wsMysheet;
Range rgMyRge;
if(!ExcelApp.CreateDispatch("Excel.Application",NULL))
{
AfxMessageBox("Error!");
exit(1);
}
wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true);
wbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t("f:\\My.xlT")));
//得到Worksheets
wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);
//得到sheet1
wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet1")),true);
//得到全部Cells,此時,rgMyRge是cells的集合
rgMyRge.AttachDispatch(wsMysheet.GetCells(),true);
//設置1行1列的單元的值
//rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)1),_variant_t("This Is A Excel Test Program!"));
////填充記錄集的值到單元格
ExcelApp.SetVisible(TRUE);
for (int i=0;i<Rsc->Fields->Count;i++)
{
rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)(i+1)),_variant_t(Rsc->Fields->GetItem(_variant_t((long)i))->Name));
}
for(int row=0;row<Rsc->RecordCount;row++)
{ for(int col=0;col<Rsc->Fields->Count;col++)
{
rgMyRge.SetItem(_variant_t((long)(row+2)),_variant_t((long)(col+1)),_variant_t(Rsc->Fields->GetItem(_variant_t((long)col))->Value));
}
Rsc->MoveNext();
}
//得到所有的列
//rgMyRge.AttachDispatch(wsMysheet.GetColumns(),true);
//得到第一列
//rgMyRge.AttachDispatch(rgMyRge.GetItem(_variant_t((long)1),vtMissing).pdispVal,true);
//設置列寬
//rgMyRge.SetColumnWidth(_variant_t((long)200));
// ExcelApp.SetVisible(TRUE);
rgMyRge.ReleaseDispatch();
wsMysheet.ReleaseDispatch();
wssMysheets.ReleaseDispatch();
wbMyBook.ReleaseDispatch();
wbsMyBooks.ReleaseDispatch();
ExcelApp.ReleaseDispatch();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -