📄 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 + -