星灵剑圣 2020-12-11 14:38 采纳率: 0%
浏览 86

MFC读取excel表格的内容,为什么会有内容没有读取到?

lpDisp = books.Open(strFilePath, covOptional, covOptional,
		covOptional, covOptional, covOptional, covOptional, covOptional,
		covOptional, covOptional, covOptional, covOptional, covOptional,
		covOptional, covOptional);
	book.AttachDispatch(lpDisp);
	sheets.AttachDispatch(book.get_Worksheets());
	//sheet = sheets.get_Item(COleVariant((short)1));
	lpDisp = book.get_ActiveSheet();
	sheet.AttachDispatch(lpDisp);
	range.AttachDispatch(sheet.get_Cells(),TRUE);
	if (FUTUREa == 0 && var1 != L"") {
		for (int i = 0; i < 1000;i++) {
			range.AttachDispatch(range.get_Item(COleVariant((long)i+1), COleVariant((long)varr1)).pdispVal);   //第一变量是行,第二个变量是列
			long fu;
			fu = (long)i + 1;
			vResult = range.get_Value2();
			if (vResult.vt == VT_BSTR) //字符串  
			{
				str1[i] = vResult.bstrVal;
			}
			else if (vResult.vt == VT_R8 || vResult.vt == VT_R4) //8||4字节的数字  
			{
				str1[i].Format(_T("%f"), vResult.dblVal);
			}
			else if (vResult.vt == VT_I4) {
				str1[i].Format(_T("%d"), vResult.dblVal);
			}
			if (str1[i] == L"" || str1[i] == "") {
				FUTUREa = 1;
				j = i-1;
				break;
			}
			SetDlgItemText(IDC_EDIT7, str1[i]);
		}
	}
	if (FUTUREa == 1 && var2 != L"") {
		for (int i = 0; i < 1000; i++) {
			range.AttachDispatch(range.get_Item(COleVariant((long)i+1), COleVariant((long)varr2)).pdispVal);   //第一变量是行,第二个变量是列
			vResult = range.get_Value2();
			if (vResult.vt == VT_BSTR) //字符串  
			{
				str2[i] = vResult.bstrVal;
			}
			else if (vResult.vt == VT_R8) //8字节的数字  
			{
				str2[i].Format(_T("%f"), vResult.dblVal);
			}
			if (str2[i] == L"" || str2[i] == "") {
				FUTUREa += 1;
				break;
			}
		}
	}

 这两个循环是分别读取第一列和第二列的内容,但是我程序运行完了之后,str1的数组中只有[第一轮,一,三,六]被读取到了,第二列全部都没有读取到

请问大神们能否告诉我这是为什么

  • 写回答

2条回答 默认 最新

  • Aet_Leng 2020-12-11 15:32
    关注

    你把第二列的条件放开试一下 或者打印一下vResult 看看里面应该是有数据的

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器