免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 5728 | 回复: 20
打印 上一主题 下一主题

[已解决]请问如何用java读写OpenOffice的sxc文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-06-22 13:04 |只看该作者 |倒序浏览
小弟是java新手,下了openoffice的SDK和api,可是看不大懂。我要实现的是,用java从库中读数据写到OpenOffice的sxc文件中去,请大家帮忙。

论坛徽章:
0
2 [报告]
发表于 2004-06-22 14:35 |只看该作者

[已解决]请问如何用java读写OpenOffice的sxc文件

首先,以service模式启动OpenOffice
然后,可以建立UNO connection,可以打开一个空的spread sheet
然后可以用XSpreadSheet这个接口来插入数据

你看一下OOSDK里面有一个example文件SCalc.java,看了就动了。

论坛徽章:
0
3 [报告]
发表于 2004-06-22 16:46 |只看该作者

[已解决]请问如何用java读写OpenOffice的sxc文件

非常感谢,请问这个要不要做什么设置呢。我装的这个版本没有<OfficePath>;/share/registry/data/org/openoffice/Setup.xcu
这个,根本就没有registy这个目录,也是不能设listen。我用的是1.0版,正在下1.1版,不知是不是版本的问题。
还有,我不理解它的原理。是不是说OpenOffice是个server,java是个client,那我每次运行一个java是不是相当于一个网络请求呢,只不过这个是请求本机的服务。这个和用java生成excel文件好像完全不一样,生成excel只是要个驱动。

论坛徽章:
0
4 [报告]
发表于 2004-06-22 21:02 |只看该作者

[已解决]请问如何用java读写OpenOffice的sxc文件

具体的设置我不记得了。不过理论上是可以直接加一些命令行参数来用Listen模式启动。
至于原理,你理解的基本上是对的。

论坛徽章:
0
5 [报告]
发表于 2004-06-22 21:41 |只看该作者

[已解决]请问如何用java读写OpenOffice的sxc文件

它给的例子已经调通了,但和我想的不大一样。它是在OpenOffice里生成一个表,每运行一次就生成一个,但同时也打开一个窗口。是不是有什么方法,让它直接生成文件,不用在OpenOffice里显示一下。因为我是从数据库生成表,可能会有很多的表生成。我想应该有这个参数的,可我现在没那么多时间研究。如果只能是这样,我也就在这上浪费时间了。如果有,就要好好看一下了。
还要请版主指点下,谢谢:>;

论坛徽章:
0
6 [报告]
发表于 2004-06-23 08:25 |只看该作者

[已解决]请问如何用java读写OpenOffice的sxc文件

你看一下SCalc.java的openCalc()那个方法。
  1. PropertyValue [] szEmptyArgs = new PropertyValue [0];
复制代码
改成:

  1. PropertyValue [] szEmptyArgs = new PropertyValue [1];
  2. szEmptyArgs [1] = new PropertyValue();
  3. szEmptyArgs [1].Name = "Hidden";
  4. szEmptyArgs [1].Handle = -1;
  5. szEmptyArgs [1].Value = new Boolean(true);
复制代码

看看有没有效果

论坛徽章:
0
7 [报告]
发表于 2004-06-23 10:52 |只看该作者

[已解决]请问如何用java读写OpenOffice的sxc文件

  1. PropertyValue [] szEmptyArgs = new PropertyValue [1];
  2. szEmptyArgs [0] = new PropertyValue();
  3. szEmptyArgs [0].Name = "Hidden";
  4. szEmptyArgs [0].Handle = -1;
  5. szEmptyArgs [0].Value = new Boolean(true);
复制代码

我再看下怎么存就应该行了。多谢版主!!!

论坛徽章:
0
8 [报告]
发表于 2004-06-23 11:26 |只看该作者

[已解决]请问如何用java读写OpenOffice的sxc文件

不客气。

论坛徽章:
0
9 [报告]
发表于 2004-06-23 11:51 |只看该作者

[已解决]请问如何用java读写OpenOffice的sxc文件

不好意思,我在读DocumentSaver这个类又有几个地方不明白:
1 UNO URL 是什么,在上个程序中那个url是“private:factory/scalc”,那这个"uno:socket,host=localhost,port=8100;urp;StarOffice.ServiceManager"是什么?
2 这个是从一个文件读一下,再存到另一个文件,可我想存当前我生成的这个文件,我没找到这个方法啊。这里是用  xstorable.storeAsURL(。。),xstorable是读出来的东西。但我现在只想存我刚生成的。
晚上就要做出个雏形,心里有点乱,还要麻烦版主。

论坛徽章:
0
10 [报告]
发表于 2004-06-23 12:49 |只看该作者

[已解决]请问如何用java读写OpenOffice的sxc文件

  1. uno:socket,host=localhost,port=8100;urp;StarOffice.ServiceManager
复制代码
这个是建立连接用的。
  1. private:factory/scalc
复制代码
意思是一个空的spread sheet,你可以用
  1. file:///c:/temp/1.sxc
复制代码

XStorable有一个方法就叫store(),就是保存当前文件。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP