我正在使用VS2010 C ++和Office 2010来创建基于Excel模板的报表。 C ++可以成功打开,插入值和将xlsx保存为其他内容,但我希望将其另存为PDF。尽管在VB,C#和PowerShell中看到了示例,但我正在努力使用ExportAsFixedFormat()函数的_variant_t参数。任何人都可以提供示例代码吗? 我的功能的外壳:
Excel::_ApplicationPtr pXL;
if (FAILED(pXL.CreateInstance("Excel.Application")))
{
return FALSE;
}
pXL->Workbooks->Open("c:\\tempRep.xlsx");
pXL->PutVisible(0, FALSE);
// Get the active worksheet
Excel::_WorksheetPtr pWksheet = pXL->ActiveSheet;
//... use the spreadsheet
// Save the worksheet
pWksheet->SaveAs("c:\\newRep.xlsx");
pWksheet->ExportAsFixedFormat(??const _variant_t &Filename, ....??)
谢谢,史蒂夫
答案 0 :(得分:0)
尝试使用SetString method:
_variant_t Filename;
Filename.SetString("c:\\temp\\myfile.txt");
pWksheet->ExportAsFixedFormat(Filename, ....)
答案 1 :(得分:0)
从微软的文档中,它是0或1,对我有用。 https://msdn.microsoft.com/en-us/library/bb241296(v=office.12).aspx
VARIANT vtMissing; // VARIANT defining a missing/optional parameter.
vtMissing.vt = VT_ERROR;
vtMissing.scode = DISP_E_PARAMNOTFOUND;
book.ExportAsFixedFormat(0, COleVariant(TEXT("myExportPDF.pdf")), vtMissing,
vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing);