【前言】工作或学习中可能需要实现基于VC读\写Excel文件的功能,本人最近也遇到了该问题。
中间虽经波折,但是最终还是找到了解决问题的办法。
在此跟大家分享,希望对跟我同样迷茫过的同学们有所帮助。
1、程序功能1)打开一个excel文件;2)显示到CListCtrl上;3)新建一个Excel文件。
以上均在对话框中实现。
2、平台VC++20103、实现方法常用的Excel打开方式有两种1)通过数据库打开;2)OLE方式打开。
由于方式1)操作繁琐,经常出现莫名的错误,这里选用方式2).4、准备步骤首先新建一个Dialog窗体程序,添加listcontrol和两个按钮1)将ExcelLib文件夹拷贝到程序目录下;
2)将Export2Excel.h,Export2Excel.cpp两个文件添加到项目;
3)包含头文件,#include"ExcelLib/Export2Excel.h"通过以上步骤在程序中引入了可以读取Excle文件的CExport2Excel类;
5、打开excel文件通过按钮点击打开voidCExcelTestDlg::OnBnClickedButtonOpenExcel(){//获取文件路径CFileDialog*lpszOpenFile;CStringszGetName;lpszOpenFile=newCFileDialog(TRUE,"","",OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,"ExcelFile(*.xlsx;*.xls)|*.xls;*.xlsx",NULL);if(lpszOpenFile->DoModal()==IDOK){szGetName=lpszOpenFile->GetPathName();SetWindowText(szGetName);deletelpszOpenFile;}elsereturn;//打开文件//文件中包含多个sheet时,默认打开第一个sheetCExport2ExcelExcel_example;Excel_example.OpenExcel(szGetName);//获取sheet个数intiSheetNum=Excel_example.GetSheetsNumber();//获取已使用表格行列数intiRows=Excel_example.GetRowCount();intiCols=Excel_example.GetColCount();//获取单元格的内容CStringcs_temp=Excel_example.GetText(1,1);//AfxMessageBox(cs_temp);//Listcontrol上显示//获取工作表列名(第一行)CStringArraym_HeadName;m_HeadName.Add(_T("ID"));for(inti=1;iGetItemCount()>0){m_list.DeleteColumn(0);}//初始化ClistCtrl,加入列名InitList(m_list,m_HeadName);//填入内容//第一行是标题,所以从第2行开始CStringnum;intpos;for(introw=2;row<=iRows;row++){pos=m_list.GetItemCount();num.Format(_T("%d"),pos+1);m_list.InsertItem(pos,num);for(intcolum=1;colum<=iCols;colum++){//插入均从序号0开始m_list.SetItemText(pos,colum,Excel_e
2025/11/15 14:25:49 281KB VC++ Excel OLE VS2010
1
使用jsp做的相册做课程设计的网页爱好者!或者觉得自己没事干的都可以弄来玩玩
2025/11/15 13:13:45 2.65MB jsp 相册 课程设计
1
Jenkins离线包yarn/node/jdk/maven,包括32个常用离线插件
2025/11/15 13:26:30 327.51MB Jenkins离线插件包
1
STM32F030F4P6核心板pdf原理图+ALTIUMpcb布局+器件封装库文件库,封装库包括STM32F030F4P6+MICROUSB封装表贴按键等封装,可以做为你的设计参考。
1
2d横版通关小游戏,美术资源原创自合作美工。
可以去我的博客,看该项目截图介绍再决定是否下载。
满满的干货。
2025/11/15 13:10:21 62.12MB Unity2D 横版通关
1
dsoframer.ocx2.3.0.2版本,在win10环境下,vs2013中测试office2016通过。
2025/11/15 13:35:01 111KB ocx c# office word
1
课程设计之人事管理系统Android应用源码
2025/11/15 12:54:12 5.29MB android
1
STC单片机资料,主要是STC15F2K60S2-AD资料
2025/11/15 12:13:45 1.49MB 单片机 资料
1
企业CMS源码,企业CMS源码,企业CMS源码.
2025/11/15 12:56:01 4.08MB 企业CMS源码
1
最近遇到一个服务器被hack的问题,服务器变成了肉机,不断尝试破解其他机器的帐号。
下面我们通过分析黑客在服务器上留下的工具,了解入门的hack方法、学习相应的防范措施。
hacker登入一台被入侵的服务器,通常首先使用”w”命令查看登陆者信息、使用”passwd”命令修改当前用户密码,然后通过wget,获取提权和其他hack工具。
hacker一般将工具解压到目录名以”.”开头的目录中,达到隐藏的效果,以下是此次问题hacker在服务器上留下的“礼物”:linux:/tmp/.ssh#ll总计340下面我们对以上各工具的作用逐一进行分析。
远程会话管理工具screenscreen主要用于管理多
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡