請(qǐng)閱讀word文檔
開(kāi)發(fā)意圖:
在web開(kāi)發(fā)中經(jīng)常需要將jsp或html頁(yè)面中表格數(shù)據(jù)導(dǎo)出為pdf、doc、xls等格式。然而在實(shí)現(xiàn)這一功能用到了一些開(kāi)源的組件,每實(shí)現(xiàn)這一功能時(shí)都需要編寫(xiě)大量重復(fù)性代碼。由此,對(duì)該部分進(jìn)行了封裝,做到通用性,在有需求的情況下,只需要拷貝相應(yīng)的組件或依賴(lài)的JAR包到你的工程中,進(jìn)行配置即可。
功能:
本組件可以將表格中的內(nèi)容導(dǎo)出為pdf、doc、xls、jpg(采用了ImageIo,導(dǎo)出圖片效果不是很好)。
上述四種類(lèi)型的報(bào)表組件所使用的技術(shù)
pdf使用到了iText.jar由于需要支持中文所有用到了亞洲字體包iTextAsian.jar
doc word文檔這里并沒(méi)有使用到j(luò)acob,而使用了iText的另一個(gè)jar包iText-rtf-2.1.7.jar,借助該jar可生成rtf格式的文檔,而指定文件后綴名時(shí)指定為.doc即為word文檔,之所以使用該jar,是因?yàn)樗?jiǎn)單方便。
xls使用了apache的開(kāi)源組件poi-3.6-20091214.jar
jpg使用jdk自帶的ImageIo
jquery 項(xiàng)目中用到了jquery,使用jquery遍歷頁(yè)面表格中的內(nèi)容,然后將數(shù)據(jù)發(fā)送到后臺(tái)對(duì)數(shù)據(jù)進(jìn)行處理,根據(jù)用戶需求生成對(duì)應(yīng)的文檔。
環(huán)境:
開(kāi)發(fā)環(huán)境:
WindowsXP sp3/Windows7+jdk1.6.13+javaee1.4/javaee5+myeclipse6.5+tomcat5.5/tomcat6.0+jquery
測(cè)試環(huán)境:
WindowsXP sp3/Windows7+jdk1.6.13+javaee1.4/javaee5+IE8+firefox3.6+tomcat5.5/tomcat6.0
組件包
核心組件:com.future.report_1.0.0.201007291116.jar
依賴(lài)的JAR:
iText-2.1.7.jar①
iTextAsian.jar②
iText-rtf-2.1.7.jar③
poi-3.6-20091214.jar④
注:其中①②項(xiàng)為生成pdf所依賴(lài)的jar包
③項(xiàng)為生成doc文檔所依賴(lài)的jar包當(dāng)然它同時(shí)依賴(lài)①②項(xiàng)
④為生成excel所依賴(lài)的jar包

com.future.report_1.0.0.201007291116.jar類(lèi)明細(xì)圖

com.future.report.Activator此類(lèi)實(shí)現(xiàn)了osgi的org.osgi.framework.BundleActivator。開(kāi)發(fā)中不關(guān)心這個(gè)類(lèi)
com.future.util.report.controller.ExportReportServlet初始的報(bào)表導(dǎo)出servlet。只需配置該servlet到你的工程中即可
com.future.util.report.encodingfilter.EncodingFilter字符集過(guò)濾filter一般設(shè)置為utf-8你可以在web.xml中修改它
com.future.util.report.factory.ExportReportFactory報(bào)表導(dǎo)出工廠,根據(jù)用戶傳遞過(guò)來(lái)的報(bào)表類(lèi)型創(chuàng)建能生成對(duì)應(yīng)該類(lèi)型報(bào)表的實(shí)例
com.future.util.report.factory.ReportFontFactory 用于pdf word文檔的字體生成工廠
com.future.util.report.impl.ExportReportForExcel 此類(lèi)用于生成Excel格式的報(bào)表
com.future.util.report.impl.ExportReportForJPG此類(lèi)用于生成JPG圖片
com.future.util.report.impl.ExportReportForPDF此類(lèi)生成PDF格式的文檔
com.future.util.report.impl.ExportReportForWord此類(lèi)生成Word文檔
com.future.util.report.intf.IExportReport此類(lèi)內(nèi)部定義了一枚舉用來(lái)標(biāo)識(shí)要生成的報(bào)表類(lèi)型
com.future.util.report.tags.ERTagUtil此類(lèi)用于讀取META-INF下的js文件并生成到WebRoot/er_js目錄下
com.future.util.report.tags.ExportReportTag報(bào)表導(dǎo)出標(biāo)簽
具體參考對(duì)應(yīng)的Javadoc或源碼
注:
在lib目錄下
com.future.report_1.0.0.201007291116.jar使用eclipse-plugin打成的JAR包
export-report_1.2.jar為eclipse工程導(dǎo)出的jar包
兩個(gè)jar沒(méi)有功能上的差異都可以使用,二者各選其一即可

注:由于文檔中含大量圖片不方便一一上傳,如需了解直接下載該組件包,內(nèi)含詳細(xì)的文檔及源碼和例子
點(diǎn)我下載該組件包及源碼和例子