• http://pigdogyourmother.yculblog.com
  • 系列工作笔记
  • 系列工作笔记启动
  • 鸦的主题曲 ,有点悲伤的感觉
  • 微软在桌面系统上的成功,令我们不得不大量使用它的办公产品,如:Word,Excel。时至今日,它的源代码仍然不公开已封锁了我们的进一步应用和开发。然而在要求更高的服务器领域,微软本身的产品移植性不好,性能不佳。

    在我们实际的开发中,表现层的解决方案虽然有多样,但是IE浏览器已成为最多人使用的浏览器,因为大家都用Windows。在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开。

    或者是:我们已经习惯用Excel打印。这样子如果用.net开发是没有问题的,但是有J2EE这个比.net更有前途的开放式的开发环境,难道我为了解决打印的要求去另写客户端的控件?或者在服务器端使用本地代码?第一种方案的问题是关键数据的处理有时候不能在客户端做,第2种方案的问题是牺牲了代码的可移植性和稳定性。如果让客户端只负责处理生成好的报表,那将是一种诱人的选择。

    Apache的Jakata项目的POI子项目,目标是处理ole2对象。目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由 Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如sheet,cell等等。

    这是一个年轻的项目,所以象HDF这样直接支持Word对象的好东西仍然在设计中。其它支持word格式的纯Java方案还有itext,不过也是仍在奋斗中。但是HSSF已经成熟到能够和足够我们使用了。

    其实,从开发历史的角度讲,在80年代中期starOffice的原作者在德国成立了StarOffice suite公司,然后到1999年夏天 starOffice被sun收购,再到2000年6月starOffice5.2的发布;并且从starOffice6.0开始,starOffice 建立在OpenOffice的api的基础上,这个公开代码的office项目已经进行了很长的时间。虽然那是由C++写的,但是POI的代码部分也是由 openOffice改过来的。所以,应该对POI充满足够的信心。国内已经有部分公司在他们的办公自动化等Web项目中使用poi了,如日恒的 ioffice,海泰的HTOffice等。

    Java当初把核心处理设成Unicode,带来的好处是另代码适应了多语言环境。然而由于老外的英语只有26个字母,有些情况下,一些程序员用8位的byte处理,一不小心就去掉了CJK的高位。或者是由于习惯在程序中采用硬编码,还有多种原因,使得许多Java应用在CJK的处理上很烦恼。还好在POI HSSF中考虑到这个问题,可以设置encoding为双字节。

    POI可以到www.apache.org下载到。编译好的jar主要有这样4个:poi包,poi Browser包,poi hdf包,poi hssf例程包。实际运行时,需要有poi包就可以了。

    如果用Jakarta ant编译和运行,下载apache Jakarta POI的release中的src包,它里面已经为你生成好了build文件了。只要运行ant就可以了(ant 的安装和使用在此不说了)。如果是用Jbuilder 运行,请在新建的项目中加入poi包。

    以Jbuilder6 为例,选择Tools菜单项的config libraries...选项,新建一个lib。在弹出的菜单中选择poi包,如这个jakarta-poi -1.5.1-final-20020820.jar,把poi添加到jbuilder中。然后,右键点击你的项目,在project的 properties菜单中path的required Libraries中,点add,添加刚才加入到jbuilder中的poi到你现在的项目中。

    如果你仅仅是为了熟悉POI hssf的使用,可以直接看POI的samples包中的源代码,并且运行它。hssf的各种对象都有例程的介绍。hssf提供的例程在org.apache.poi.hssf.usermodel.examples包中,共有14个,生成的目标xls都是 workbook.xls。如果你想看更多的例程,可以参考hssf的Junit test cases,在poi的包的源代码中有。hssf都有测试代码。
    这里只对部分例程的实现做介绍。
  • 传说中的工作笔记
  • linux下,Java如果没经过设置很容易发生中文乱码问题,中文全变成方框.

    Applet也是,这主要是java没有找到中文字体的缘故。只要将中文字体拷贝到fonts下,在经过一下设置就好了。

  • Domino 自带的Http加Servlet容器都不是很好,不支持的东西太多,当需要Domino进行WEB开发的时候就需要外带一个Servlet容器,幸好Domino是支持外带Servlet的,这里就以Tomcat为例来介绍一下如何在Domino下外载一个Servlet容器.

  • 工作了,不能用心的游戏了,就写点东西,也好怀念怀念。
  • Metal Gear Solid 3的结尾曲

    Metal Gear Solid 3 可以说是一个悲剧,这首Way to fall的意境也表现了冷战时期战士成为政治牺牲品的无奈。

    当Metal Gear Solid 3 结束时一边Big Boss在Boss的墓前对她的敬礼,一边放着Way to fall,或许你也会感动吧

  • Metal Gear Solid 3 的主题曲

    以前没怎么关注 MGS ,一次好好玩了MGS3后,果然是神作啊

    它的主题曲和ED我都很喜欢。。。那种悲哀和庄严。。

    不过主题曲听起来感觉很想007的音乐。

  • 恶魔城 月下夜想曲 的结束曲

    一开始并不觉得好听,可是越听越好听。

    嘻嘻

  • 圣魔之血的ED

    很诡异(OP好像更诡异)

    不知道为什么一听就很喜欢

  • The Sore Feet Song<苦旅之歌>
    虫师的OP

    那种宁静的感觉不错!


  • 本附录包含了大量有用的建议,帮助大家进行低级程序设计,并提供了代码编写的一般性指导