【前言】工作或学习中可能需要实现基于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
MFC实现的教室管理信息系统,数据库课程设计,图形化界面,有源代码,有截图,有打印结果,相信会对你有所帮助。
编译工具:VC++6.0
2025/11/15 10:01:58 3.04MB SQLServer DataBase 截图 源代码
1
VC++漂亮的启动界面渐隐渐现启动特效的漂亮窗体共享源代码软件启动载入效果发一个带渐隐渐现启动特效的VC++漂亮窗体,窗体中还有漂亮的按钮,包括图片按钮和两态位按钮,在以后进行窗体美化的时候,你可以借鉴一下这个程序,让你的程序界面更加专业。
PS:可能有中日的乱码问题,简单修改一下就可以了。
1
这个主要是用vc开发的一个文本颜色的CListBox控件,添加一个颜色处理类,并继承CListBox,然后添加颜色控件的变量,在addString(文本,rgb),就完成了,就这么简单,代码运行可以看到结果!
2025/11/14 3:24:09 6.64MB CListBox 设置颜色 CColorListBox 设置文本
1
解决:xp,win7等Couldnotloadfileorassembly'CefSharp.Core.dll'oroneofitsdependencies.找不到指定的模块,解决方法1.安装VC++运行环境2.解压win32,需要将msvcp120.dllmsvcr120.dll拷贝至C:\Windows\System32
2025/11/13 22:25:46 48.17MB cef vc++
1
矩阵连乘加括号,使计算量最小。
用vc++6.0可以运行。
2025/11/13 6:56:27 864B 矩阵 连乘
1
简单的MFC画板,功能齐全,代码齐全,亲自编的,里面有程序代码,也有开发过程的每一步怎么操作都很清楚
2025/11/12 4:23:51 3.35MB MFC,画图板
1
本文实现了二维图形的几何变换,以矩阵运算作为数学基础,采用旋转、平移和缩放等基本几何变换,对一简单的二维图形做变换。
为了保证矩阵运算一致性,故引入了齐次坐标的概念。
本文选择了一三角形,编写VC++程序,验证了上述几个几何变换。
2025/11/10 10:27:04 155KB 几何变换 矩阵运算 齐次坐标
1
我的毕业设计.拥有画图板的部分功能.有一部分图象处理功能.但只能处理不大于1024*768像素的bmp格式文件.由于当时时间不多,代码比较乱,基本没有注释,环境VC6;图象处理的核心算法都在CBmpDat类中.我的大部分程序都采用的MVC模式,数据与显示是分离的.
2025/11/8 10:38:11 222KB VC 图形 图象处理
1
VC运行库集合
2025/11/7 18:40:57 47.58MB 软件开发
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡