BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

文章:用Java操作Office 2007

| 作者 Ted Neward 关注 3 他的粉丝 ,译者 张立 关注 0 他的粉丝 发布于 2007年9月21日. 估计阅读时间: 2 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

本文提到的主要问题是如何使Office和Java共同工作,也就是说让Java应用程序来操作Office文档:比如创建文档,编辑文档,收集数据等等。Ted Neward这个互操作方面的专家给出了自己的理解。

从以往看来,要在Office和Java之间进行互操作经常会出现一些问题,这是由于Office文档(主要是Word,Excel和PowerPoint)是存储在一个二进制格式文件中,在COM中被称为结构化存储格式, 是一个通过COM接口的层次化二进制格式。对COM开发者(或者其他使用COM相关语言的开发者,如Visual Basic, Delphi 和C++/ATL)而言非常方便,但产生的文件对于那些不能“讲COM”的语言是无法访问的。有许许多多的应用程序都是为了让Java语言可以访问这些文件的内容;比如大家都知道Excel可以读取逗号分隔符文件(CSV),因此,Java应用程序相应将数据导出到Excel友好的格式时一般会选用CSV 格式(或是其他丑陋的格式)。Word则是可以读取富文本格式(RTF)文件,而RTF标准是公开和有详细文档的。Office的后来者,Office 2003,引入了一个新的XML格式(WordML),Java开发者可以用它来读写Office文档,但是这些格式并没有很好的文档,Java开发者频繁的发现自己是通过试错法来进行WordML格式的学习等等。

总体上来说,如果温和一点说的话,Java/Office的故事是一个非常讨厌的境况。对于Java的开发人员而言,他们要么一边嘴里说着 “Office这种破东西怎么还会有人想去用它”一边用记忆里的伊索寓言来安慰自己,要么干脆告诉那些使用Office的客户由于Microsoft和Sun两家公司之间的诉讼,Java不能操作Office。

那么在Office 2007里,这些情况有没有得到改善?

阅读全文:用Java操作Office 2007

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

顶。 by 朝 唐

强顶。有创意了。

Re: 顶。 by zeng jin

操作起来还是满复杂的。如果是将Excel表中的大量数据岛入数据库。用Java还是有点麻烦。

by 陈 观军

不错的小窍门,不过确实很麻烦,对于word还好,试了下excel的超复杂

在实际的运用中应该很有前景。 by ken ryu

有时间会尝试看看。

支持 by bin zhang

确实挺好的,不过虽然office2007发行这么长时间了,目前2003依然是主流

很实用! by 邓 超

的确,在实际应用中一定很有前景。

您好,看了您翻译的帖子 by 孙 明春

您好,我测试该程序通不过啊,ZipFile docxFile = new ZipFile(new File("hello.docx"));java显示无法读取该文件。
我测试是我的office的问题,我是盗版的office2007,希望您能帮助我谢谢!

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

7 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT