2012年10月8日 星期一

JAVA and Excel

 使用EXCEL代替SQL的緣由


最近構思一個有資料庫需求的程式,又發現如果要打包放到其他人的電腦裡,對方也必須安裝MySQL,可不只JRE而已。

這樣感覺就無法成為通用的工具了。

思考什麼可以替代MySQL時,以前讀過的《PHP+MySQL快速入門》(松崗出版社,吳弘凱 著)裡面的其中一個章節came to my mind.

那個章節是用PHP做網路通訊錄。它一開始並不像坊間的PHP書籍馬上使用MySQL,而是使用了csv檔來做表格。

果然多讀點書有用呀。我查了JAVA一些資料後,決定以xls檔來取代sql。

沒有sql是真的很不方便,但是通用性變好,只要有xls打包在src裡就OK了。



jexcelapi──一個開放原始碼的JAVA Library

http://www.andykhan.com/jexcelapi/

不管是哪國人


開發者──這位Andy Khan先生到底是何方神聖,我也不知道。但有一次在查jexcel的用法時晃到一個大陸網站,裡面的文章說,這位是韓國人。

為什麼要特別提韓國人呢?這裡是程式心得,可不是婊來婊去嘮嘮叨叨的地方耶~~

那篇文章有提到,jexcelapi有個特點:對於中文字的支援非常好。

我也是這樣認為,我用到現在,不過是讀或是寫,還沒碰到亂碼。

聽說有另一套excel的API,對中文的支援就不是那麼好了,因為是米國人寫的嘛。

因為開發者"可能"不是英語語系國家的人,所以自然會注重unicode等通用編碼方式。

不管在哪裡,現在電腦的亂碼問題一直沒有很好的解決方法,當英語系國家的人真的很幸福呀,相信每位程式設計師都有相同的想法。

還好現在越來越注重這塊,越來越多的檔案、網站被保存為像是UTF-8這種編碼方式。

 

比較差的地方?

 

jexcelapi相較於Apache開發的POI(JAVA API for Microsoft Documents),功能比較有限。
聽說圖形讀取支援格式不多、畫圖表的功能也不咋地。

但如果只要基礎的功能,像是我用來取代資料庫(基本上只要能存成表格狀就好),jexcelapi的功能已經完全符合需求了。

沒有留言:

張貼留言