【前言】工作或学习中可能需要实现基于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
编译环境cuda10.0.130+cudnn7.5.0,包含运行include、lib、dll,亲测可运行,有问题可提出
2025/11/13 9:06:56 40.63MB 编译包
1
ADS1292模块的呼吸、心率采集之卡尔曼滤波算法代码,#include"stdlib.h"#include"rinv.c"intlman(n,m,k,f,q,r,h,y,x,p,g)intn,m,k;doublef[],q[],r[],h[],y[],x[],p[],g[];{inti,j,kk,ii,l,jj,js;double*e,*a,*b;e=malloc(m*m*sizeof(double));l=m;if(l<n)l=n;a=malloc(l*l*sizeof(double));b=malloc(l*l*sizeo
2025/11/8 9:49:25 734KB 卡尔曼滤波算法
1
中科院计算机所山世光老师的开源免费人脸识别库seetaface,识别率可达97.1%。
详细可见博文http://blog.csdn.net/hust_bochu_xuchao/article/details/53608540提供编译后的debug和release模式下的lib,dll下载。
可以和我们下载opencv后一样使用
2025/11/3 20:46:57 216KB seetaface
1
Qt利用ffmpeg进行桌面截图并且保存本地h264视频文件,Qt版本为5.6,ffmpeg依赖库我也有单独上传资源,使用的时候,需要手动修改pro文件里面的include以及lib,下载的工程项目中已经有示例
2025/10/6 19:28:30 14KB Qt C++ h264
1
jsp+servlet实现网上商城(无任何主流框架)整体项目我在实现的时候并未使用任何框架,运用了工程化的思想和手段,例如将抽象的基类(JavaBean)封装到mall.JavaBean中,将对数据库的查询,增删改的具体实现(包括SQL语句)封装到mall.dao中,将承担事务处理的Servlet封装到mall.Servlet中。
同时使用了JTSL标签和迭代标签,以及request、response、response.sendRedirect、cookies等JSP内置对象,使用一些了JSP标记例如include标记。
2025/10/2 20:16:21 2.03MB servlet jsp
1
OSG3.4.0库(已编译好,VS2013+WIN10),亲测可用,里面包含include/bin/lib/OSG3.4.0-Data。
拿过来全套直接用。
2025/9/29 4:58:35 44.44MB OSG3.4
1
添加到vs的编译环境,结合OpenCV可实现rtsp的调用,版本属于2.15,bin下的东西需要添加到path或者代码根目录
2025/9/23 10:10:52 38.31MB VLC
1
DM9000LWIP,移植LWIP1.4.0协议编译后会爆一个找不到...h的,直接把那句include给屏蔽掉就行了
2025/9/23 5:02:32 9.08MB DM9000 LWIP
1
VS2015编译好的64位GDAL-2.20库,集成了proj-5.1.0、geos-3.6.3、FileGDB_API-1.5,资源中包含bin、data、html、include、lib五个目录,开发可以直接调用include和lib,bin中含有示例程序和相应的dll。
2025/9/18 11:42:34 8.19MB GDAL vs2015 proj geos
1
共 241 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡