MFC 如何使用已经读入的Excel数据
已经用相应的程序,将指定的Excel表格读入。但是现在想使用这个数据,我的想法是编辑了一个函数,但是调试过程中总是停止工作,本人MFC刚刚接触,求大佬帮助,下面附上源码。
打开Excel的代码
int DuQu(int i, int j)
{
//获取文件路径
BOOL isOpen = TRUE; //是否打开(否则为保存)
CString defaultDir = L"E:\\论文"; //默认打开的文件路径
CString fileName = L"\\信号机数据表.xlsx"; //默认打开的文件名
//CString filter = L"文件 (*.doc; *.ppt; *.xlsx)|*.doc;*.ppt;*.xlsx||"; //文件过虑的类型
//CFileDialog openFileDlg(isOpen, defaultDir, fileName, OFN_HIDEREADONLY | OFN_READONLY, filter, NULL);
//openFileDlg.GetOFN().lpstrInitialDir = L"E:\\论文\\信号机数据表.xlsx";
//INT_PTR result = openFileDlg.DoModal();
CString filePath = defaultDir + "\\信号机数据表.xlsx";
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
books = app.get_Workbooks();
//打开Excel,其中pathname为Excel表的路径名
lpDisp = books.Open(filePath, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional);
book.AttachDispatch(lpDisp);
sheets = book.get_Worksheets();
sheet = sheets.get_Item(COleVariant((short)1));
CString CellName;
//获取任意单元格的值
CellName.Format(_T("c%d"), i, j); //A–Z 65-90
range = sheet.get_Range(COleVariant(CellName), COleVariant(CellName));
//获得单元格的内容
COleVariant rValue;
rValue = COleVariant(range.get_Value2());
rValue.ChangeType(VT_I4);
int A;
A = rValue.intVal;
//book.put_Saved(TRUE);
//app.Quit();
return A;
};
想使用这个数据的话可以直接调用这个函数嘛?
打开Excel的代码
int DuQu(int i, int j)
{
//获取文件路径
BOOL isOpen = TRUE; //是否打开(否则为保存)
CString defaultDir = L"E:\\论文"; //默认打开的文件路径
CString fileName = L"\\信号机数据表.xlsx"; //默认打开的文件名
//CString filter = L"文件 (*.doc; *.ppt; *.xlsx)|*.doc;*.ppt;*.xlsx||"; //文件过虑的类型
//CFileDialog openFileDlg(isOpen, defaultDir, fileName, OFN_HIDEREADONLY | OFN_READONLY, filter, NULL);
//openFileDlg.GetOFN().lpstrInitialDir = L"E:\\论文\\信号机数据表.xlsx";
//INT_PTR result = openFileDlg.DoModal();
CString filePath = defaultDir + "\\信号机数据表.xlsx";
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
books = app.get_Workbooks();
//打开Excel,其中pathname为Excel表的路径名
lpDisp = books.Open(filePath, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional);
book.AttachDispatch(lpDisp);
sheets = book.get_Worksheets();
sheet = sheets.get_Item(COleVariant((short)1));
CString CellName;
//获取任意单元格的值
CellName.Format(_T("c%d"), i, j); //A–Z 65-90
range = sheet.get_Range(COleVariant(CellName), COleVariant(CellName));
//获得单元格的内容
COleVariant rValue;
rValue = COleVariant(range.get_Value2());
rValue.ChangeType(VT_I4);
int A;
A = rValue.intVal;
//book.put_Saved(TRUE);
//app.Quit();
return A;
};
想使用这个数据的话可以直接调用这个函数嘛?
...全文
相关推荐
Excel导出和导入
Excel导出和导入,有导入导出报表。有设置合并excel表头,字体颜色,字体大小,导入ClistCtrl等功能!
【MFC】利用VS2019在MFC中处理excel文件
通过查询excel驱动方式读取excel文件,但是文件表内需要设置名称,以方便读取,有待改进,记录一下
mfc下导出listctrl数据到excel表格
这是一个vs2010下mfc导出listctrl控件内容到excel的代码,用的是excel组件,如果不需要特别处理就用这个导出,简单。欢迎各位提供更好的谢谢!
使用MFC读取Excel文件
读取配置文件ini中所指定的目录中读取文件夹中所有excel文件。使用CTabCtrl控件中添加CListCtrl控件。简单实现。
MFC处理Excel文件
基于VS2013编译,MFC连接Excel,进行读取,数据显示,数据处理,数据保存成新Excel文件等操作,详情见博客


