MFC 加载 EXCEL 并快速读取大量数据

MFC 加载 EXCEL库 可以查看
http://t.csdn.cn/U8TJU

这里主要记录一下读取EXCEL数据的方式:
方式一:遍历所有单元格,不适用于大数据量

	CApplication app1;
	CWorkbooks books;
	CWorkbook book;
	CWorksheets sheets;
	CWorksheet sheet;
	CRange range;
	CRange oCurCell;
	LPDISPATCH lpDisp;
	COleVariant vResult;  //COleVariant类是对VARIANT结构的封装
	COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
	COleSafeArray ole_safe_array_;

	if (S_OK != CoInitialize(NULL)){
   
		return -1;
	}

	if (!app1.CreateDispatch(_T("Excel.Application"), NULL))
	{
   
		MessageBox(NULL,_T("无法启动Excel服务器!"), _T("提示"), MB_ICONWARNING);
		return 0;
	}
	books.AttachDispatch(app1.get_Workbooks());
	lpDisp = books.Open(pDlg->m_fileName, covOptional, covOptional,
		covOptional, covOptional, covOptional, covOptional, covOptional,
		covOptional, covOptional, covOptional, covOptional, covOptional,
		covOptional, covOptional);

	//得到Workbook    (工作簿)
	book.AttachDispatch(lpDisp);
	//得到Worksheets   (工作表)
	sheets.AttachDispatch(book.get_Worksheets());
	//sheet = sheets.get_Item(COleVariant((short)1));
	//得到当前活跃sheet 
	//如果有单元格正处于编辑状态中,此操作不能返回,会一直等待 
	lpDisp = book.get_ActiveSheet();
	sheet.AttachDispatch(lpDisp);
	// 获得使用的区域Range(区域)
	range.AttachDispatch(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值