所屬欄目:計算機應用論文 發布日期:2011-05-14 17:14 熱度:
摘要:許多機構都使用微軟Excel表格作為信息交換的方式,眾多的非專業編程人員、商業分析師和項目經理都能熟練的運用該技術。而使用Java從Excel文檔中分析、搜集、鞏固數據的能力則證明是很有用途的。JakartaPOI(PoorObfuscationImplementation,無困惑實現)使得程序員能夠迅速完成這些任務。POI可以用來完成在純Java中處理基于微軟OLE(對象鏈接和嵌入)技術的文件格式到復合文檔格式(如MicrosoftExcel,MicrosoftWord等軟件使用的格式)的交換。本文對POI進行了剖析并說明了如何使用Java讀寫MicrosoftExcel文檔,還提供了一個使用POI的實例。
關鍵詞:報表;Java;Excel;POI
1引言
微軟在系統桌面上的成功,令我們不得不大量使用它的辦公產品,如:Word,Excel。時至今日,它的源代碼仍然不公開已封鎖了我們的進一步應用和開發。然而在要求更高的服務器領域,微軟本身的產品移植性不好,性能不佳。在我們實際的開發中,表現層的解決方案雖然有多樣,但是IE瀏覽器已成為最多人使用的瀏覽器,因為大家都用Windows。在企業辦公系統中,常常有客戶這樣的要求:你要把我們的報表直接用Excel打開。或者是:我們已經習慣用Excel打印。這就看程序員能否為用戶提供一個便利的編輯打印Excel報表的功能。對此如果用.net開發是沒有問題的,但是有J2ee這個比.net更有前途的開放式的開發環境,難道我為了解決打印的要求去另寫客戶端的控件?或者在服務器端使用本地代碼?前者的問題是關鍵數據的處理有時候不能在客戶端做,后者的問題是犧牲了代碼的可移植性和穩定性。如果讓客戶端只負責處理生成好的報表,那將是一種良好的選擇。這就面臨著新的挑戰——即利用Excel的強大功能對報表進行再編輯潤色。
2Java及其主要特點
Java是大家所熟悉的,它起源于80年代的中末期,仿效C和C++那樣設計出一種更簡單、更有效、更容易使用的跨多種計算機平臺(硬件、操作系統等),可移植的通用語言。其特點主要有以下幾個方面:(1)通用性:指的是跨平臺、跨網絡、跨語種和跨時間。(2)可移植性:Java的源代碼是可移植的,而且對現有的幾乎所有操作系統無須修改便能運行。(3)支持分布式環境。(4)Java虛擬機(JVM):這是一種軟CPU,是Java環境最重要的組件,它是仿照一種小巧高效的CPU設計的,Java的編譯器就是把Java的源代碼編譯成VM可執行的偽目標代碼,而偽目標代碼轉換成實際的硬件調用。(5)Java本身就是一種虛擬操作系統和圖形用戶界面(GUI),它們也是可移植的。
3Java與Excel
使用Windows操作系統的朋友對Excel(電子表格)一定不會陌生,但是要使用Java語言來操縱Excel文件并不是一件容易的事。在Web應用日益盛行的今天,通過Web來操作Excel文件的需求越來越強烈,目前較為流行的操作是在JSP或Servlet中創建一個CSV(commaseparatedvalues)文件,并將這個文件以MIME,text/csv類型返回給瀏覽器,接著瀏覽器調用Excel并且顯示CSV文件。這樣只是說可以訪問到Excel文件,但是還不能真正的操縱Excel文件。在這里我們主要提到有兩種開源項目即:JavaExcel和POI,使用它們大家就可以方便地操縱Excel文件。JavaExcel這個開放源項目,通過它Java開發人員可以讀取Excel文件的內容、創建新的Excel文件、更新已經存在的Excel文件。使用該API,非Windows操作系統也可以通過純Java應用來處理Excel數據表。因為是使用Java編寫的,所以我們在Web應用中可以通過JSP、Servlet來調用API實現對Excel數據表的訪問。另一種為了實現純Java的Excel解決方案是ApacheJakara推出了一個免費的開源項目POI。POI目前已比較成熟,可以處理MSExcel(97-2002)對象。國內已經有部分公司在他們的辦公自動化等Web項目中使用POI了。
4POI包在WEB開發中的應用
如果要開發Eclipse插件式的信息應用系統,就肯定會涉及報表輸出。在開發中我們將報表輸出成Excel,這樣用戶就可以利用Excel的強大的功能對報表再編輯潤色。
在Eclipse中,要和MSOffice交互需要用一個第三方庫:即POI。它可以用于任何Java程序中(包括Web程序),而不僅僅是Eclipse。POI不是Eclipse的插件,而是幾個JAR包,其知識與插件無關。
4.1安裝與初始配置
POI可以到網站:http://jakarta.apache.org/下載,經兩次解壓后將其復制Eclipse的myplugin2項目的根目錄下,緊接著要在Eclipse中設置對POI-2.5.1-final-20040804.jar的庫引用。需要注意的是:如果在插件項目中演示了第三方包,還必須在plugin.xml文件的<runtime>項中加入對此包的引用:代碼如下:
<runtime>
......
<libraryname="libPOI-2.5.1-final-20040804.jar"/>
</runtime>
如果系統中有幾種JRE,那么必須確保正確設置PATH環境變量,以調用1.4.2或更新版本的JRE,而非老版本的JRE。環境設置基本上就是兩個環境變量的設置:PATH和CLASSPATH。首先要正確設置CLASSPATH,以利用提供數據庫訪問和Excel電子表格功能的API。使用run.bat文件設置這一變量,這樣就可以訪問相應的Java文檔(.jar文件)。
4.2創建一個空白的Excel文件
因為POI是通用于Java程序的API庫,所以使用它并不需要在SWT/JFace或插件環境下,我們創建一個最普通的Java應用程序即可。程序代碼如下:
//-----文件名:ExcelSample.java-----
publicclassExcelSample1{
publicstaticVoidmain(String[]args)throwsIOException{
//創建一個excel文件
HSSFWorkbooksb=newHSSFWorkbook();
FileOutputStreamfileOut=newFileOutputStream("c:\workbook.xls");
wb.write(fileOut);
fileOut.close();
}
}
說明:
(1)FileOutStream創建和wb.write語句都需要用作異常處理,本例是選擇在main方法拋出其異常。
(2)FileOutStream屬于JDK的數據流對象,通過它來將一個名為workbook.xls文件創建在C盤目錄下,運行該程序可看到C盤根目錄下多了一個Excel文件。
文章標題:Java技術中Excel報表的應用研究
轉載請注明來自:http://www.56st48f.cn/fblw/dianxin/yingyong/8894.html
攝影藝術領域AHCI期刊推薦《Phot...關注:106
Nature旗下多學科子刊Nature Com...關注:152
中小學教師值得了解,這些教育學...關注:47
2025年寫管理學論文可以用的19個...關注:192
測繪領域科技核心期刊選擇 輕松拿...關注:64
及時開論文檢索證明很重要關注:52
中國水產科學期刊是核心期刊嗎關注:54
國際出書需要了解的問題解答關注:58
合著出書能否評職稱?關注:48
電信學有哪些可投稿的SCI期刊,值...關注:66
通信工程行業論文選題關注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關注:121
評職稱發論文好還是出書好關注:68
復印報刊資料重要轉載來源期刊(...關注:51
英文期刊審稿常見的論文狀態及其...關注:69
電子信息論文范文
智能科學技術論文 廣播電視論文 光電技術論文 計算機信息管理論文 計算機網絡論文 計算機應用論文 通信論文 信息安全論文 微電子應用論文 電子技術論文 生物醫學工程論文 軟件開發論文
SCI期刊分析
copyright © www.56st48f.cn, All Rights Reserved
搜論文知識網 冀ICP備15021333號-3