很奇怪的問題,無論我選取多少行多少列的數據,range.get_Value2()返回值作爲COLESafeArray構造函數的參數,(示例代碼中的saOneDim)得到的元素個數總是為16,維數是2。
附上代碼。
wsprintf( szwMatrixBegin, L"B%d", iMatrixRow + 6);
wsprintf( szwMatrixEnd, L"O%d", iMatrixRow + 6);
lpDisp = sheet.get_Range( _variant_t( szwMatrixBegin), _variant_t( szwMatrixEnd) );
range.AttachDispatch( lpDisp); //saOneDim.CreateOneDim( VT_VARIANT, 14, 0);
COleSafeArray saOneDim(range.get_Value2());
有人能指正下麽,先謝過。
附上代碼。
wsprintf( szwMatrixBegin, L"B%d", iMatrixRow + 6);
wsprintf( szwMatrixEnd, L"O%d", iMatrixRow + 6);
lpDisp = sheet.get_Range( _variant_t( szwMatrixBegin), _variant_t( szwMatrixEnd) );
range.AttachDispatch( lpDisp); //saOneDim.CreateOneDim( VT_VARIANT, 14, 0);
COleSafeArray saOneDim(range.get_Value2());
有人能指正下麽,先謝過。
vResult=range.GetValue2();
然后操作vResult
wsprintf( szwMatrixEnd, L"O%d", iMatrixRow + 6);B~O 是 14列 后面的行相等,所以是1行吧? 你怎么实现的“不论多少行多少列”的
我已經改用C#做了,又快又好阿。
http://download.csdn.net/detail/yeah2000/3576494