2010-09-09 33 views
2

我正在尋找意見,替代解決方案和建議。有沒有預先存在的使用c#與Excel Interops模板excel像jXLS一樣的解決辦法?

背景: 我們目前使用struts框架在Websphere上構建了一個CRUD應用程序。我們使用獨立的C#應用​​程序生成Excel文檔,該應用程序使用ActiveX控件綁定到Web應用程序。我們傳遞包含每個文檔元素的XML。在每個文檔下,我們都有包含名稱和值的佔位符。文檔生成應用程序從文件服務器獲取名稱(單元格引用或命名範圍)和模板副本。然後它將數據添加到文檔中的所有指定位置,並將文檔保存到用戶「我的文檔」文件夾中。然後嘗試將文檔上傳到Documentum。

當前問題: 其中一個模板已經發展到非常大的尺寸。這在很大程度上是因爲需要顯示的數據量。我們將信息分解成分組。這些分組中的每一個都需要能夠顯示最多20個信息。其中一些標籤還需要顯示最多100個子元素。由於本地生成的文檔生成框架的當前性質,不可能動態生成具有可變數量元素的不同部分。這最近開始引起維護模板的問題。如果我們需要進行格式更改,則不僅需要將其複製到每個選項卡,還可能複製到每個選項卡中的每個實例。

我開始關注jXLS和它的模板能力,但由於它是基於java的,因此將它與c#應用程序集成是一件麻煩事。其他的選擇是將jXLS像功能一樣構建到我們的代框架中,將第三方庫集成到框架中,或者在應用程序服務器上進行文檔生成。我寧願避免重新發明輪子,並希望從某處重新使用圖書館。

我也想盡可能不影響現有的工作流程。所以現在解決方案的首選順序看起來像這樣。

1)使用現有的.NET庫
2)從DocumentGeneration框架中調用jXLS庫。在模板能力,以生成框架
4)使用JXLS應用服務器(在
3)建立。由於我們有處理上傳的Documentum)

你對這個有什麼建議呢?

回答

2

我不確定這對您有多大幫助,但過去我使用NPOI來生成XLS文檔,而且使用起來相當簡單。 NPOI是Java POI的.NET端口,POI由jXLS內部使用。

我不確定它的功能是否符合您的要求,或者至少是一個起點。

0

我已經使用了Syncfusion's XLSIO組件,用於沿JXLS方向的excel模板。它是.net,運行良好,但它是一種商業產品,如果項目中有許多開發人員,則許可費用將變得非常昂貴。

如果您發現JXLS的開源端口做共享!

相關問題