写点什么

文章:用 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:041296

评论

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

【LeetCode】 极大极小游戏Java题解

Albert

LeetCode 6月月更

你还不懂线程池的设计及原理吗?掰开揉碎了教你设计线程池

C++后台开发

线程 线程池 后端开发 Linux服务器开发 C++后台开发

这篇SpringCloud GateWay 详解,你用的到

牧小农

SpringCloud Gateway

Fabric.js 动态设置字号大小 🎄

德育处主任

canvas 前端可视化 FabricJS Fabric.js 6月月更

Vue-6-计算属性

Python研究所

6月月更

数据结构进阶(一)稀疏矩阵

No Silver Bullet

稀疏矩阵 6月月更

485天,远程办公的 21 条心得分享|社区征文

悟空聊架构

远程办公 悟空聊架构 热门活动 初夏征文 社区征文

Es6新特性——箭头函数

大熊G

JavaScript 前端 6月月更

有哪些ABAP关键字和语法,到了ABAP云环境上就没办法用了?

汪子熙

云原生 SAP abap Netweaver 6月月更

C#入门系列(十一) -- 多维数组

陈言必行

C# 6月月更

safePoint讲解及其安插思路分析

北洋

6月月更

远程办公经验 | 社区征文

弑着去忘记う

初夏征文

远程办公经验分享 | 社区征文

Geek_ac6fb9

初夏征文

利用 VSCode 的代码模板提高 MobX 的编码效率

岛上码农

flutter ios 前端 安卓开发 6月月更

InfoQ 极客传媒 15 周年庆征文|Webpack 性能优化措施汇总

No Silver Bullet

性能优化 前端 webpack 6月月更 InfoQ极客传媒15周年庆

tornado环境搭建及基本框架搭建——熟悉的hello world

孤寒者

Python tornado 6月月更 hello world

【高并发】关于线程池,蚂蚁金服面试官问了我这些内容!!

冰河

并发编程 多线程 高并发 异步编程 6月月更

spring的BeanFactory和ApplicationContext

程序员欣宸

Java spring 6月月更

Django 介绍与安装

海拥(haiyong.site)

django 6月月更

Linux开发_ Linux命令复习与文件目录复习

DS小龙哥

6月月更

InfoQ 极客传媒 15 周年庆征文|Dubbo入门实战:Spring + Zookeeper + Dubbo

No Silver Bullet

zookeeper 架构 dubbo 6月月更 InfoQ极客传媒15周年庆

开源项目那么多,这次带你了解个版本的区别,明白alpha版、beta版、rc版是什么意思

迷彩

开源 记录 6月月更

SDN系统方法 | 5. 交换机操作系统

俞凡

架构 网络 sdn SDN系统方法

详解Java中的值传递

工程师日月

6月月更

浅析分布式系统之体系结构-事务与隔离级别(多对象、多操作)下篇

snlfsnef

测试基础之:黑盒测试

甜甜的白桃

测试用例 黑盒测试 6月月更

InfoQ 极客传媒 15 周年庆征文|容器运行时技术深度剖析

liuzhen007

容器 运维 热门活动 InfoQ极客传媒15周年庆

浅谈居家办公后的感想| 社区征文

雪雷

居家办公 初夏征文

【sql语句基础】——删(delete) /改(update)

写代码两年半

数据库 sql :MySQL 数据库 6月月更

网络流媒体协议的联系与区别(RTP RTCP RTSP RTMP HLS)

赖猫

音视频 流媒体

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