读书人

用VC++操作EXCEL可是小弟我不知道如何

发布时间: 2013-11-23 10:52:51 作者: rapoo

用VC++操作EXCEL可是我不知道怎么保存?
这是我的Workbook类的SaveAs函数原型:void _Workbook::SaveAs(const VARIANT& Filename, const VARIANT& FileFormat, const VARIANT& Password, const VARIANT& WriteResPassword, const VARIANT& ReadOnlyRecommended, const VARIANT& CreateBackup, long AccessMode, const VARIANT& ConflictResolution,
const VARIANT& AddToMru, const VARIANT& TextCodepage, const VARIANT& TextVisualLayout, const VARIANT& Local)
{
static BYTE parms[] =
VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_I4 VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
InvokeHelper(0x785, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
&Filename, &FileFormat, &Password, &WriteResPassword, &ReadOnlyRecommended, &CreateBackup, AccessMode, &ConflictResolution, &AddToMru, &TextCodepage, &TextVisualLayout, &Local);
}
这是我自己给这个参数的赋值:book.SaveAs(COleVariant("C:\\a.xls"),VTS_VARIANT,VTS_VARIANT,VTS_VARIANT,VTS_VARIANT,VTS_VARIANT,(long)0,VTS_VARIANT,VTS_VARIANT,VTS_VARIANT,VTS_VARIANT,VTS_VARIANT);
这是编译时的错误提示:error C2664: 'SaveAs' : cannot convert parameter 2 from 'char [2]' to 'const struct tagVARIANT &'
Reason: cannot convert from 'char [2]' to 'const struct tagVARIANT'请高手指点,怎么给SaveAs方法赋值? excel vc++ c 类
[解决办法]
Excel::XlFileFormat vFileFormat;
vFileFormat = xlWorkbookNormal;
book.SaveAs(COleVariant("C:\\a.xls"),_variant_t(vFileFormat),VTS_VARIANT,VTS_VARIANT,VTS_VARIANT,VTS_VARIANT,(long)0,VTS_VARIANT,VTS_VARIANT,VTS_VARIANT,VTS_VARIANT,VTS_VARIANT);
[解决办法]
用Saveas的话每次都会出现是否覆盖的对话框,如果不想要这个对话框,你可以用
book.SaveCopyAs(COleVariant(strTempFile));

读书人网 >VC/MFC

热点推荐