写点什么

文章:用 Java 操作 Office 2007

  • 2007-09-20
  • 本文字数:711 字

    阅读完需:约 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

2007-09-20 20:041302

评论

发布
暂无评论
发现更多内容

项目开发过程中,成员提离职,怎么办?

石云升

项目管理 管理 引航计划 内容合集 10月月更

一种基于Kotlin DSL的静态代码分析AST规则扩展实现

maijun

Java dsl 静态代码分析 结构化规则 规则扩展

区块链技术可以在哪些方面颠覆石油和天然气行业?

CECBC

Jupyter Notebook从入门到精通,TensorFlow一个计算机视觉示例 易筋 ARTS 打卡 Week 68

John(易筋)

ARTS 打卡计划

新技术|基于信号特征的语音编码器Lyra Android实践

轻口味

android 音视频 引航计划 10月月更

【Flutter 专题】37 图解 Flutter 基本动画 (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月月更

5. 再次接触装饰器,增加一种数据结构代替 if_else 的写法

梦想橡皮擦

10月月更

【Vuex 源码学习】第七篇 - Vuex 的模块安装

Brave

源码 vuex 10月月更

0 基础架构入门 - 5(微博评论的高性能高可用计算架构)

felix

架构实战营 0 基础架构入门

【LeetCode】窥探迭代器Java题解

Albert

算法 LeetCode 10月月更

果然爆发!!!央行数字货币要在这“特殊”的一天正式推出?

CECBC

云原生训练营20210915-作业1

笑春风

架构实战营 模块九(毕业设计) 作业

一雄

作业 架构实战营 毕业设计 模块九

008云原生之Serverless架构

穿过生命散发芬芳

云原生 10月月更

Netflix实用API设计(下)

俞凡

架构 netflix API 大厂实践 10月月更

Python代码阅读(第32篇):随机返回列表中的一个元素

Felix

Python 编程 Code Programing 阅读代码

【初恋系列】那年的试卷我们再肝一遍(试卷存储详细设计)

人工智能~~~

存储 详细设计 那年的试卷我们再肝一遍 试题

linux之man命令

入门小站

Linux

【LeetCode】 第三大的数Java题解

Albert

算法 LeetCode 10月月更

Ember Data 之记录查询

devpoint

store ember.js 10月月更

Netflix实用API设计(上)

俞凡

架构 netflix API 大厂实践 10月月更

🍃【SpringBoot技术专题】「开发实战系列」动态化Quartz任务调度机制+实时推送任务数据到前端

码界西柚

springboot quartz DeferredResult 任务调度 10月月更

回忆录:「技术主管」练成记

蔡建斌

管理 引航计划 内容合集

golang--进程,线程,协程调度

en

Go 语言

移动端网络监控实践

轻口味

android 大前端 网络协议 引航计划 10月月更

架构实战营 - 模块九作业

Julian Chu

架构实战营

【Spring源码分析】带你正视一下Spring祖容器之BeanFactory的原理与功能分析(1)

码界西柚

spring 容器 spring源码 BeanFactory 10月月更

架构实战营模块9作业

喻高咏        

架构实战营

容器 & 服务:Helm Charts(三)K8s集群信息

程序员架构进阶

架构 Kubernetes 容器 Helm Charts 10月月更

在线base64加密解密工具

入门小站

工具

代码要写注释了吗?

HelloWorld杰少

领航计划

文章:用Java操作Office 2007_Java_Ted Neward_InfoQ精选文章