精品1区2区3区4区,81精品国产乱码久久久久久 ,久久久一本精品99久久精品66,久久电影tv

中國電商物流網-電子商務與物流行業融合媒體!電子商務物流行業門戶網站!
快遞網點 郵編查詢 行政區劃 高鐵時刻 高鐵票價 高鐵車次
貿易資訊
免費注冊 登錄
中國電商物流網
企 業
產 品
商 務

終于有一款組件可以全面超越Apache POI

來源:中國電商物流網  發布時間:2020-5-12 12:19

  在 GrapeCity Documents出現以前,服務端文檔組件向來以Apache POI為代表,作為一款由Java編寫的開源API庫,Apache POI 主要應用于對Microsoft Office文檔進行讀、寫,以及創建和維護。

  但正如POI所定義的那樣:作為“Poor Obfuscation Implementation”首字母的縮寫,Apache POI僅提供“簡單的模糊實現”,其在創建復雜邏輯的大型文檔時,經常會捉襟見肘。

  如果想通過簡單的代碼邏輯,快速創建、加載、編輯、導入/導出大型文檔(Excel、Word、PDF),并將其部署到云端時,又該如何實現?

  而這些需求,恰恰是GrapeCity Documents 可以滿足的。

  GrapeCity Documents是什么?

  GrapeCity Documents 是一款快速且高效的服務端文檔組件包,可在 Windows、Mac、Linux 上完美運行,同時適用于 .NET和 Java 平臺,可在不依賴 Microsoft Office 和 Acrobat 組件的情況下,提供快速生成、加載、編輯和保存 Excel、PDF、Word文檔的功能。

  GrapeCity Documents 由四種針對不同文檔和開發框架的組件構成:

  · 適用于所有 .NET 平臺的 Excel 文檔 API —— GcExcel(.NET)

  · 適用于所有 Java 平臺的 Excel 文檔 API —— GcExcel(Java)

  · 適用于所有 .NET 平臺的 PDF 文檔 API —— GcPDF

  · 適用于所有 .NET 平臺的 Word 文檔 API —— GcWord

  下面,我們將以其中的GcExcel 為例,詳細對比它與 Apache POI 的功能及性能優劣。

  功能對比:GcExcel VS Apache POI

  1. 公式數量

  GcExcel支持452種Excel公式。

  Apache POI中,支持的公式數量很少(雖然Apache POI網站羅列了280多種可評估的公式,但在API中僅顯示為157種)。

  2. 是否支持導出PDF

  GcExcel不但支持導出PDF格式,還可控制頁面設置選項。

  Apache POI不支持導出PDF。

  3. 條件格式

  GcExcel支持多種條件格式,如自定義圖標集、判斷是否高于平均值(AboveAverage)、發生日期判斷、Top 10和重復項判斷,且這些條件格式的設置規則與VSTO保持一致。

  但在Apache POI中,使用高級API來增加條件格式判斷會受限。因此,只能使用標記為內部用途的低級類來處理Top10、高于平均值(AboveAverage)等格式化選項。

  4. 圖表類型

  GcExcel的圖表界面與VSTO一致,支持約53種圖表類型。

  Apache POI對圖表的支持非常有限,僅支持Line、Bar、Column、Scatter和Radar圖表類型。

  5. 迷你圖

  GcExcel完全支持添加和配置迷你圖(Sparklines)。

  Apache POI目前不支持Sparklines。

  6. 剪切、復制、粘貼形狀

  GcExcel支持剪切、復制、粘貼形狀,Apache POI不支持。

  7. 過濾器數據類型

  GcExcel廣泛支持文本、數字、日期、顏色和圖標等過濾器。

  Apache POI僅支持基本的AutoFilter,需要使用低級類來實現應用過濾或創建任何其他高級過濾器。

  8. 排序

  GcExcel支持所有類型的行排序、列排序、自定義排序、顏色和圖標排序。

  Apache POI沒有內置的排序功能。但是,用戶可以使用shiftRows()/ ShiftColumns()并以編程方式對數據進行排序。

  9. 切片器

  GcExcel支持帶有數據透視表的切片器,而Apache POI則不支持。

  10. 導出CSV格式

  GcExcel支持導出為CSV格式。

  Apache POI沒有提供內置的導出CSV選項。但是,可以使用編程的方式創建相應的CSV / HTML文件。

  11. 漸變填充

  GcExcel支持漸變填充,而Apache POI不支持。

  12. 單元格中獲取/設置值

  在對單個單元格執行獲取/設置值的情況下,GcExcel比Apache POI表現的更好。

  13. 示例與幫助文檔

  使用Apache POI,許多功能需要訪問和了解底層API才能實現, 但Apache POI提供的示例和文檔數量十分有限,對于開發人員來說學習成本較大。

  而GcExcel作為獨立于平臺的API 組件,具備高性能、低內存消耗的特點,并且與Excel對象模型嚴格兼容。GcExcel更加易于使用且功能全面,通過其提供的在線演示示例和幫助文檔,開發人員可以快速上手,迅速掌握產品使用技巧。

  性能對比:GcExcel VS Apache POI

  讓我們通過一個GcExcel Java的基準測試項目對比其與Apache POI的性能優劣,該項目是一個java gradle項目,可以輸出GcExcel、POI和Aspose.Cells的性能結果,如下所示:

  · 設置:獲取和保存100,000 * 30單元格的double / string / date值,下圖顯示了double值的結果。

  · GcExcel 用時不超過0.2S ;Apache POI 則達到18.7S左右

  · 設置:計算和保存20,000 * 30個單元格的公式,結果如下:

  · GcExcel 用時不超過1S ;Apache POI 則達到10S左右

  · 打開并保存一個20.5MB 的 Excel文件,其中包含了許多數據、公式和單元格格式,結果如下:

  · GcExcel 用時不超過4.9S ;Apache POI 則達到10S左右

  · GcExcel 內存消耗為72.1MB;Apache POI 為3518.2MB

  結論

  從以上結果可以看出,GcExcel 是目前為止速度最快、內存消耗最少的服務端電子表格組件。

  盡管 Apache POI 是免費的,但它的速度和內存消耗遠遠達不到企業級項目的標準,這就是為什么我只選擇100,000 * 30個單元格的原因,因為即使在1,000,000 * 30個單元格的情況下,GcExcel Java仍舊可以平穩運行。

  除此之外,為了保證Apache POI成功運行,還必須將JVM最小堆大小配置為4G,否則它將拋出OutOfMemory異常。 以下是build.gradle中的JVM配置:

  applicationDefaultJvmArgs = ["-Xms4096m", "-Xmx8192m"]

  大家可以從GitHub上下載這個測試項目:

  https://github.com/GrapeCity/GcExcel-Java/tree/master/benchmark, 并使用以下命令行運行它:

  · on mac: ./gradlew run --args="double" //參數可以是double, string, date, formula, bigfile

  · on windows: gradlew run --args="double" //參數可以是double, string, date, formula, bigfile

  請注意,第一次運行會非常慢,因為它需要下載gradle和所有相關軟件包。

  以上,就是GrapeCity Documents 與Apache POI 在功能和性能上的對比測試,從數據可見,無論是運行速度,還是內存消耗,GrapeCity Documents 都要比Apache POI表現的更為優秀。

  如果您也有服務端處理 Excel、Word、PDF等文檔的需求,需要快速批量操作大型文檔,可以前往GrapeCity Documents官網下載試用。

  關于葡萄城

  賦能開發者!葡萄城公司成立于 1980 年,是全球領先的集開發工具、商業智能解決方案、低代碼開發平臺于一身的軟件和服務提供商。西安葡萄城是其在中國的分支機構,面向全球市場提供軟件研發服務,并為中國企業的信息化提供國際先進的開發工具、軟件和研發咨詢服務。葡萄城的控件和軟件產品在國內外屢獲殊榮,在全球被數十萬家企業、學校和政府機構廣泛應用。

特別提醒:本網內容轉載自其他媒體,目的在于傳遞更多信息,并不代表本網贊同其觀點。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,并請自行核實相關內容。本站不承擔此類作品侵權行為的直接責任及連帶責任。如若本網有任何內容侵犯您的權益,請及時聯系我們,本站將會在24小時內處理完畢。


Copyright © 2012-2025 sd56.net.cn All Rights Reserved 中國電商物流網 版權所有
主站蜘蛛池模板: 寿宁县| 灯塔市| 泰兴市| 利川市| 吉木萨尔县| 汉源县| 韶关市| 洛南县| 彰化县| 自贡市| 吉隆县| 自贡市| 兴安盟| 双桥区| 陈巴尔虎旗| 上犹县| 南陵县| 香港 | 平远县| 东乌| 巢湖市| 江口县| 鹤庆县| 于田县| 颍上县| 金山区| 东山县| 博罗县| 聂拉木县| 东方市| 连城县| 阳高县| 米泉市| 翁源县| 磴口县| 河源市| 县级市| 常州市| 兰考县| 九龙城区| 贡觉县|