vs2017--MFC读写excel

本文介绍了如何在VS2017中使用MFC进行Excel的读写操作。通过设置IDC_EDIT2和IDC_EDIT3编辑框收集数据,以及IDC_BUTTON1和IDC_BUTTON2按钮实现搜索和保存功能。读取Excel时需注意通过range.AttachDispatch获取sheet1所有单元格,并确保后续操作选对位置;写入时,务必先调用app.Quit()退出程序,防止残留进程。文中提及参考了其他博客文章以获取更多技巧。
摘要由CSDN通过智能技术生成

定义了两个editbox【IDC_EDIT2,IDC_EDIT3】用来收集姓名和事件,两个按钮【IDC_BUTTON1,IDC_BUTTON2】用来搜索和保存。

读excel:

CApplication app;	//Excel程序
	CWorkbooks books;	//工作簿集合
	CWorkbook book;		//工作簿
	CWorksheets sheets;	//工作表集合 
	CWorksheet sheet;	//工作表
	CRange range;		//使用区域

	//获取IDC_EDIT1的值
	CString inputInfo;
	CString outputInfo;
	GetDlgItem(IDC_EDIT2)->GetWindowText(inputInfo);

	COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
	if (!app.CreateDispatch(_T("Excel.Application")))
	{
		MessageBox(_T("Error!Creat Excel Application Server Fail!"));
		exit(1);
	}

	CString strPath = _T("C:\\test.xlsx");
	books.AttachDispatch(app.get_Workbooks(), true);
	book.AttachDispatch(books.Add(_variant_t(strPath)));//获取选择的Excel文件
	sheets.AttachDispatch(book.get_Worksheets(), true);//获取文件中的所有sheet
	sheet.AttachDispatch(sheets.get_Item(_variant_t("sheet1")), true);//获取sheet1区域

	CString str;
	bool bExit = false;
	for (int irow = 
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MFC(Microsoft Foundation Classes)是微软提供的一套用于开发图形用户界面应用程序的C++类库。要在MFC中实现读写Excel文件,可以使用COM(Component Object Model)技术与Excel应用程序进行交互。 首先,通过 #import 指令将Excel的类型库加入到MFC项目中。然后使用 CoInitialize(NULL) 初始化COM库。接下来,可以通过 CoCreateInstance 函数创建一个 Excel.Application 对象,即Excel应用程序的实例。 为了打开一个Excel文件并读取其中的数据,可以使用 Application 对象的 Workbooks.Open 方法来打开指定的Excel文件。打开文件后,可以使用 Worksheets 属性获取工作簿中的工作表集合,并使用 Cells 属性获取单元格对象。通过单元格对象的 Value 属性即可获取或设置其中的数据。 同样地,要在Excel文件中写入数据,可以使用单元格对象的 Value 属性将数据写入到指定的单元格中。最后,通过调用工作簿的 Save 方法保存修改后的Excel文件,并调用 Quit 方法关闭Excel应用程序。 在进行Excel读写操作之前,需要在MFC项目的链接器设置中添加 “ole32.lib”、“comsupp.lib” 和 “comdlg32.lib” 等库文件,并在代码中包含相应的头文件。 需要注意的是,在进行Excel读写操作时,要遵循一些规则和约束,如指定正确的文件路径、正确的单元格坐标、正确的数据类型等。 总之,通过MFCExcel进行交互,可以实现读取和写入Excel文件的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值