自动化写入多行

用automation写入Excel的时候一次可以写入很多行,这样避免多次函数调用的开销
我一次写1024行,效果比一次写一个单元格好多了

RangePtr rangetmp;
hr=sheet->get_Range(_variant_t("A1"),_variant_t("A1"),(Range**)&rangetmp);
CRange rg;
rg.AttachDispatch(rangetmp);
rangetmp.Detach();
COleSafeArray saRet;
DWORD numElements[2];
numElements[0]= m_iNumRows; //Number of rows in the range.
numElements[1]= m_iNumCols; //Number of columns in the range.
saRet.Create(VT_BSTR, 2, numElements);

//Fill the SAFEARRAY.
long index[2];
long iRow, iCol;
//resize range to make enough room for the value array
rg = rg.get_Resize(COleVariant(m_iNumRows),
COleVariant(m_iNumCols));

rg.put_Value2(COleVariant(saRet));
rg.DetachDispatch();
saRet.Detach();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值