[LibreOffice]Calc文档开发_001:Calc文档的创建

来源:互联网 发布:js this对象 编辑:程序博客网 时间:2024/05/16 19:47

[看了好久OpenOffice的英文档,终于了解创建Calc文档的基本流程,学习笔记记录]如下,与大伙共勉]

头文件,语法细则等方面可以参考LibreOficeSDK的Example文档。

//初始化组件上下文

Reference< XComponentContext > xComponentContext( ::cppu::bootstrap());

//组件工厂实例化

Reference< XMultiComponentFactory > xMultiComponentFactoryClient(xComponentContext->getServiceManager() );
//获取桌面服务接口
Reference< XInterface > xInterface =xMultiComponentFactoryClient->createInstanceWithContext("com.sun.star.frame.Desktop",xComponentContext );
//创建桌面服务实例

Reference < XDesktop2 > xComponentLoader = Desktop::create(xComponentContext);

//创建calc文档前,首先加载一些属性

Sequence < ::com::sun::star::beans::PropertyValue > seqProp(2);

//第一个属性:创建文档时文档界面隐藏状态

seqProp[0].Name=OUString("Hidden");

seqProp[0].Value<<= true;

//第二个属性:创建文档时如果文档已存在,重新写入内容

seqProp[1].Name=OUString("Overwrite");
seqProp[1].Value<<= true;

//创建Calc文档

Reference< XComponent > xCompScalc = xComponentLoader->loadComponentFromURL(

OUString("private:factory/scalc"), OUString( "_blank" ), 0,seqProp);

//保存文档到指定路径,注意路径的书写格式

Reference<CSS::frame::XStorable> xStore(myDocScalc,UNO_QUERY);
xStore->storeToURL(rtl::OUString(_T("file:///D:/ProgramFile/WorkDir/Test.ods")),Sequence<::com::sun::star::beans::PropertyValue>());

//释放资源
xCompScalc->dispose();

0 0
原创粉丝点击