MFC中如何利用Excel ChartWizard生成图表?(在线等)
其中,chartPtr->ChartWizard(source, Gallery, Format, PlotBy, CategoryLabels,
SeriesLabels, HasLegend, Title, CategoryTitle, ValueTitle, ExtraTitle, lcid);
参数source有问题,我不知道怎么把source数据传给ChartWizard,
那位高手指点一下,小弟这里感激不尽。
**********************************************************************
HRESULT
Excel2003Report::createReport()
{
try
{
// create an Excel2003 application
HRESULT hr = m_pExcelApp.CreateInstance(__uuidof(Excel2003::Application));
if (hr != S_OK) return hr;
m_pExcelApp->SheetsInNewWorkbook[0] = 1;
// get workbooks
Excel2003::WorkbooksPtr pWorkbooks;
pWorkbooks = m_pExcelApp->GetWorkbooks();
m_pWorkbook = pWorkbooks->Add();
// get the worksheet and cells
m_pWorksheet = m_pWorkbook->GetActiveSheet();
if (m_pWorksheet == NULL)
{
return E_FAIL;
}
// try to activate the sheet
hr = m_pWorksheet->Activate();
// DEBUG
// get the cells
m_pSheetRange = m_pWorksheet->GetCells();
if (m_pSheetRange == NULL)
{
return E_FAIL;
}
m_pActiveRange = m_pWorksheet->GetRange("A1","A1");
if (m_pActiveRange == NULL)
{
return E_FAIL;
}
// get the pictures
m_pPictures = m_pWorksheet->Pictures();
}
catch(...)
{}
return S_OK;
}
void
Excel2003Report::saveAs( const _bstr_t & name )
{
if ("" == name)
return;//through exception
try
{
m_pWorkbook->SaveAs( name, // file name
(long)Excel2003::xlNormal, // file format
_bstr_t(""), // password
_bstr_t(""), // write res password
false, // readonly recommended
false, // create backup
Excel2003::xlNoChange, // xlExclusive access mode
(long)Excel2003::xlUserResolution ); // conflict resolution
}
catch(...)
{}
}
HRESULT
Excel2003Report::generateChart(double xPos, double yPos, double width, double height)
{
HRESULT hr = S_OK;
//set value
_variant_t cellData = 1;
m_pActiveRange = m_pWorksheet ->GetRange("A1","D1");
setCellData(cellData);
//get range value
m_pSheetRange = m_pActiveRange;
if (NULL == m_pSheetRange)
return E_FAIL;
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
LPDISPATCH lpDisp;
//Create a ChartObject Collection for the Worksheet
Excel2003::ChartObjectsPtr chartObjsPtr = m_pWorksheet->ChartObjects();
Excel2003::ChartObjectPtr chartObjPtr = chartObjsPtr->Add(xPos, yPos, width, height);
Excel2003::_ChartPtr chartPtr = chartObjPtr->GetChart();
_variant_t source ;
source.vt = VT_DISPATCH;
source.pdispVal = m_pSheetRange;
_variant_t Gallery = XlChartType::xlPie;
_variant_t Format =1;
_variant_t PlotBy = XlRowCol::xlRows;
_variant_t CategoryLabels = 0;
_variant_t SeriesLabels = 1;
_variant_t HasLegend = true;
_variant_t Title = "title";
_variant_t CategoryTitle = "CategoryTitle";
_variant_t ValueTitle = "ValueTitle";
_variant_t ExtraTitle = "ExtraTitle";
long lcid = 0;
chartPtr->ChartWizard(source, Gallery, Format, PlotBy, CategoryLabels,
SeriesLabels, HasLegend, Title, CategoryTitle, ValueTitle, ExtraTitle, lcid);
return hr;
}
void
Excel2003Report::setCellData(_variant_t data)
{
m_pActiveRange->PutValue2( data );
// autofit the column size
Excel2003::RangePtr pColumnRange = m_pActiveRange->GetEntireColumn();
pColumnRange->AutoFit();
}
相关推荐
JSP学生信息管理系统(部分论文及截图).rar
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、本项目仅用作交流学习参考,请切勿用于商业用途。
JSP学生信息管理系统(部分论文及截图)_jsp_java源程序代码.rar
JSP学生信息管理系统(部分论文及截图)_jsp_java源程序代码.rar
基于jsp实现的学生信息管理系统(部分论文及截图).rar
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
Java 开发--JSP学生信息管理系统(部分论文及截图).rar
Java 开发--JSP学生信息管理系统(部分论文及截图)
基于jsp实现的学生信息管理系统(部分论文及截图+毕业设计).rar
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。


