wxwidgets中wxlistctrl控件里面的值怎么导出到excel
wxwidgets中wxlistctrl控件里面的值怎么导出到excel
wxwidgets中wxlistctrl控件里面的值怎么导出到excel中!请高手指点,谢谢!
我的意思是WX提供了操纵EXCEL的完整支持,任何数据的读写应该都不成问题。莫非你一定要一个类似下面这样的方法:duangexin wrote:3楼的 你这个是VB写的 不适合啊。MFC可以实现,但是wx实现还是有很多区别的。能否在提供以下其它方法。
2楼大哥 你提供的这个方案好像没有涉及到导出功能吧?
wxOLE.Export2Excel(...)
?
Regards,
Sam
-------------------------------------------------------------------
Windows 10 64bit
VS Community 2019
msys2-mingw13.2.0 C::B character set: UTF-8/GBK(Chinese)
wxWidgets 3.3/3.2.4 Unicode Mono Static gcc static build
Sam
-------------------------------------------------------------------
Windows 10 64bit
VS Community 2019
msys2-mingw13.2.0 C::B character set: UTF-8/GBK(Chinese)
wxWidgets 3.3/3.2.4 Unicode Mono Static gcc static build
Re: wxwidgets中wxlistctrl控件里面的值怎么导出到excel
最近研究了一些wxWidgets对Excel的操作,首先你要知道Excel里的属性以及方法调用。这个建议你学Excel,其他不多说。
给你段代码看看把:
wxAutomationObject excelObject, rangeObject;
if (!excelObject.GetInstance(wxT("Excel.Application")))
{
// Start Excel if it is not running
if (!excelObject.CreateInstance(wxT("Excel.Application")))
{
wxMessageBox(wxT("Could not create Excel object."));
return;
}
}
if (!excelObject.PutProperty(wxT("Visible"), true))
{
wxMessageBox(wxT("Could not make Excel object visible"));
}
const wxVariant workbooksCountVariant = excelObject.GetProperty(wxT("Workbooks.Count"));
if (workbooksCountVariant.IsNull())
{
wxMessageBox(wxT("Could not get workbooks count"));
return;
}
const long workbooksCount = workbooksCountVariant;
if (workbooksCount == 0)
{
const wxVariant workbook = excelObject.CallMethod(wxT("Workbooks.Add"));
if (workbook.IsNull())
{
wxMessageBox(wxT("Could not create new Workbook"));
return;
}
}
if (!excelObject.PutProperty(wxT("ActiveCell.Value"),wxT("wxWidgets automation test!")))
{
wxMessageBox(wxT("Could not set active cell value."));
return;
}
if (!excelObject.PutProperty(wxT("ActiveCell.Font.Name"),wxVariant(wxT("华文琥珀"))))//wxVariant(true)) )
{
wxMessageBox(wxT("Could not put Bold property to active cell."));
return;
}
wxVariant params[2];
params[0]=1L;
params[1]=1L;
excelObject.GetObject(rangeObject,wxT("cells"),2,params);
rangeObject.PutProperty(wxT("value"),wxVariant(wxT("在固定行列添加属性")));
给你段代码看看把:
wxAutomationObject excelObject, rangeObject;
if (!excelObject.GetInstance(wxT("Excel.Application")))
{
// Start Excel if it is not running
if (!excelObject.CreateInstance(wxT("Excel.Application")))
{
wxMessageBox(wxT("Could not create Excel object."));
return;
}
}
if (!excelObject.PutProperty(wxT("Visible"), true))
{
wxMessageBox(wxT("Could not make Excel object visible"));
}
const wxVariant workbooksCountVariant = excelObject.GetProperty(wxT("Workbooks.Count"));
if (workbooksCountVariant.IsNull())
{
wxMessageBox(wxT("Could not get workbooks count"));
return;
}
const long workbooksCount = workbooksCountVariant;
if (workbooksCount == 0)
{
const wxVariant workbook = excelObject.CallMethod(wxT("Workbooks.Add"));
if (workbook.IsNull())
{
wxMessageBox(wxT("Could not create new Workbook"));
return;
}
}
if (!excelObject.PutProperty(wxT("ActiveCell.Value"),wxT("wxWidgets automation test!")))
{
wxMessageBox(wxT("Could not set active cell value."));
return;
}
if (!excelObject.PutProperty(wxT("ActiveCell.Font.Name"),wxVariant(wxT("华文琥珀"))))//wxVariant(true)) )
{
wxMessageBox(wxT("Could not put Bold property to active cell."));
return;
}
wxVariant params[2];
params[0]=1L;
params[1]=1L;
excelObject.GetObject(rangeObject,wxT("cells"),2,params);
rangeObject.PutProperty(wxT("value"),wxVariant(wxT("在固定行列添加属性")));