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;
};
想使用这个数据的话可以直接调用这个函数嘛?