MFC导入文件时弹出导入对话框

使用CFileDialog 可以弹出如下选择要导入的文件的对话框:
在这里插入图片描述

打开excel文件使用如下代码

void xxxDialog::OnUpdateExcelPath(CString &excelPath, CString &filetype){
	CFileDialog fileDialog(TRUE, NULL, utilReportDir(_T("")), OFN_HIDEREADONLY, _T("全部文件(*.*)|*.*|xlsx文件(*.xlsx)|*.xlsx|xls文件(*.xls)|*.xls||"), NULL);
	INT_PTR ret = fileDialog.DoModal();
	if (ret == IDOK)
	{
		CString strFilePath = fileDialog.GetPathName();
		if (strFilePath != ""){
			filetype = fileDialog.GetFileExt();
			excelPath = utilFileName(strFilePath);
		}

		else{
			AfxMessageBox(_T("打开文件失败!"));
		}
	}
}

CString utilReportDir(CString doc_path_name)
{
	return utilDataDir(CString(_T("report\\")) + doc_path_name);
}

CString utilDataDir(CString sub_path)
{
	TCHAR sgCurPath[100];
	ZeroMemory(sgCurPath, sizeof(sgCurPath));
	GetModuleFileName(NULL, sgCurPath, 100);
	CString sgModulePath = sgCurPath;
	//获取上级目录
	int pos = sgModulePath.ReverseFind('\\');
	sgModulePath = sgModulePath.Left(pos);
	pos = sgModulePath.ReverseFind('\\');
	sgModulePath = sgModulePath.Left(pos);
	CString sub;
	sub.Format(_T("\\data\\"));
	//连接图纸相对路径
	sgModulePath += sub;
	return sgModulePath+sub_path;
}

utilReportDir(_T(""))的作用是使得对话框打开时自动定位到data/report目录中。(为excel数据存放的目录)
打开image文件获得文件路径,使用如下代码

CFileDialog fileDialog(TRUE, NULL, utilDiagramDir(_T("")), OFN_HIDEREADONLY, _T("全部文件(*.*)|*.*|位图文件(*.BMP)|*.BMP|jpg文件(*.jpg)|*.jpg|png文件(*.png)|*.png||"), NULL);

下拉框中选择文件类型可以自动筛选
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值