VCMFC中如何将数据导入excel表格

上传人:人*** 文档编号:503835903 上传时间:2023-12-29 格式:DOC 页数:4 大小:30.50KB
返回 下载 相关 举报
VCMFC中如何将数据导入excel表格_第1页
第1页 / 共4页
VCMFC中如何将数据导入excel表格_第2页
第2页 / 共4页
VCMFC中如何将数据导入excel表格_第3页
第3页 / 共4页
VCMFC中如何将数据导入excel表格_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《VCMFC中如何将数据导入excel表格》由会员分享,可在线阅读,更多相关《VCMFC中如何将数据导入excel表格(4页珍藏版)》请在金锄头文库上搜索。

1、MFC中如何将数据导入excel表格呢?只要完成以下操作即可。1. 在BOOLCExcelTestApp:lnitlnstance()中,dlg.DoModal();之前增加代码:if(CoInitialize(NULL)!=0)AfxMessageBox(初始化COM支持库失败!);exit(1);2. 在returnFALSE;语句前,加入:CoUninitialize();3. 为你的project添加类,选择AddClass-Fromatypelibrary,选择D:ProgramFilesMicrosoftOfficeofficeExcel9.OLB(其中D:ProgramFiles

2、MicrosoftOffice是本机上MicrosoftOffice2000的安装目录,可根据个人机器上的实际安装目录修改)。之后把里面所有的类都加入(就是点那个向右的箭头),把每个新类的头文件都统一改成Excel.h。4. 在你的XXXDlg.cpp文件的头部,#includeXXXDlg.h语句之下,增加:#includecomdef.h#includeExcel.h5. 在你的Debug文件夹或Release文件夹里新建一个excel空白文件,名字假设为Template.xls6. 假设你是通过点击某一菜单项来实现将内容导入excel表格的,那么首先为该菜单项添加事件函数(AddEven

3、tHandler),比如:OnRunexcel;7. 在该函数中添加以下代码:/用m_ExlApp对象创建Excel2003进程if(!m_ExlApp.CreateDispatch(Excel.Application,NULL)AfxMessageBox(创建Excel服务失败!);return;/设置为可见m_ExlApp.SetVisible(TRUE);/下面得到应用程序所在的路径/CStringtheAppPath,theAppName;charPathMAX_PATH;GetModuleFileName(NULL,Path,MAX_PATH);得到应用程序的全路径theAppPat

4、h=(CString)Path;theAppName=AfxGetApp()-m_pszAppName;/应用程序名称theAppName+=.exe;/把最后的文件名去掉intlength1,length2;length1=theAppPath.GetLength();length2=theAppName.GetLength();theAppPath.Delete(length1-length2,length2);/CStringTempPath=;TempPath=theAppPath+Template.xls;/EXCEL模板的路径m_ExlBooks.AttachDispatch(m_

5、ExlApp.GetWorkbooks(),TRUE);m_ExlBook.AttachDispatch(m_ExlBooks.Add(_variant_t)TempPath),TRUE);加载EXCEL模板m_ExlSheets.AttachDispatch(m_ExlBook.GetSheets(),TRUE);加载Sheet页面添加新的Sheet页面m_ExlSheets.Add(vtMissing,vtMissing,_variant_t(long)1),vtMissing);/删除第二个Sheet页面m_ExlSheet.AttachDispatch(m_ExlSheets.GetI

6、tem(_variant_t(long)2),TRUE);m_ExlSheet.Delete();把第一个Sheet页面的名字改变为TestSheetm_ExlSheet.AttachDispatch(m_ExlSheets.GetItem(_variant_t(long)1),TRUE);m_ExlSheet.SetName(TestSheet);/合并第一行单元格A1至D1/加载要合并的单元格m_ExlRge.AttachDispatch(m_ExlSheet.GetRange(_variant_t(A1),_variant_t(D1),TRUE);m_ExlRge.Merge(_vari

7、ant_t(long)0);/设置表格内容/m_ExlRge.AttachDispatch(m_ExlSheet.GetCells(),TRUE);加载所有单元格m_ExlRge.Setltem(_variant_t(long)1),_variant_t(long)1),_variant_t(数学系研究生课程统计);m_ExlRge.SetItem(_variant_t(long)2),_variant_t(long)1),_variant_t(课程名);m_ExlRge.SetItem(_variant_t(long)2),_variant_t(long)2),_variant_t(课时);

8、m_ExlRge.SetItem(_variant_t(long)2),_variant_t(long)3),_variant_t(难度);m_ExlRge.SetItem(_variant_t(long)2),_variant_t(long)4),_variant_t(教学方式);m_ExlRge.SetItem(_variant_t(long)3),_variant_t(long)1),_variant_t(泛函分析);m_ExlRge.SetItem(_variant_t(long)3),_variant_t(long)2),_variant_t(60);m_ExlRge.SetItem

9、(_variant_t(long)3),_variant_t(long)3),_variant_t(普通);m_ExlRge.SetItem(_variant_t(long)3),_variant_t(long)4),_variant_t(老师讲课);m_ExlRge.SetItem(_variant_t(long)4),_variant_t(long)1),_variant_t(微分流形);m_ExlRge.SetItem(_variant_t(long)4),_variant_t(long)2),_variant_t(40);m_ExlRge.SetItem(_variant_t(long

10、)4),_variant_t(long)3),_variant_t(变态难);m_ExlRge.SetItem(_variant_t(long)4),_variant_t(long)4),_variant_t(自学);m_ExlRge.SetItem(_variant_t(long)5),_variant_t(long)1),_variant_t(二阶椭圆型方程与方程组);m_ExlRge.SetItem(_variant_t(long)5),_variant_t(long)2),_variant_t(60);m_ExlRge.Setltem(_variant_t(long)5),_varia

11、nt_t(long)3),_variant_t(很难);m_ExlRge.Setltem(_variant_t(long)5),_variant_t(long)4),_variant_t(讨论);m_ExlRge.AttachDispatch(m_ExlSheet.GetUsedRange();加载已使用的单元格m_ExlRge.SetWrapText(_variant_t(long)1);设置单元格内的文本为自动换行/设置齐方式为水平垂直居中/水平对齐:默认=1,居中=-4108,左=-4131,右=-4152垂直对齐:默认=2,居中=-4108,左=-4160,右=-4107m_ExlRg

12、e.SetHorizontalAlignment(_variant_t(long)-4108);m_ExlRge.SetVerticalAlignment(_variant_t(long)-4108);/设置整体的字体、字号及颜色/Fontft;ft.AttachDispatch(m_ExlRge.GetFont();ft.SetName(_variant_t(宋体);/字体ft.SetColorIndex(_variant_t(long)11);字的颜色ft.SetSize(_variant_t(long)12);字号/设置标题字体及颜色/m_ExlRge.AttachDispatch(m_

13、ExlSheet.GetRange(_variant_t(A1),_variant_t(D1);ft.AttachDispatch(m_ExlRge.GetFont();ft.SetBold(_variant_t(long)1);粗体ft.SetSize(_variant_t(long)13);ft.SetColorIndex(_variant_t(long)2);CellFormatcf;cf.AttachDispatch(m_ExlRge.GetCells();/设置底色/Interiorit;it.AttachDispatch(m_ExlRge.GetInterior();it.SetC

14、olorIndex(_variant_t(long)11);标题底色/表格内容的底色/m_ExlRge.AttachDispatch(m_ExlSheet.GetRange(_variant_t(A2),_variant_t(D5);it.AttachDispatch(m_ExlRge.GetInterior();it.SetColorIndex(_variant_t(long)15);/为表格设置边框/RangeUnitRge;CStringCellName;for(inti=1;i=4;i+)for(intj=1;j=4;j+)CellName.Format(%c%d,j+64,i);单元格的名称UnitRge.AttachDispatch(m_ExlRge.GetRange(_variant_t(CellName),_variant_t(CellName);/加载单元格LineStyle=线型Weight=线宽Colorindex=线的颜色(-4105为自动)UnitRge.BorderAround(_variant_t(long)1),_variant_t(long)2),_variant_t(lo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号