用automation写入Excel的时候一次可以写入很多行,这样避免多次函数调用的开销
我一次写1024行,效果比一次写一个单元格好多了
我一次写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();