2017-10-10 109 views
0

我目前使用TinyButStrong的Excel插件來創建定期發送的大量Excel文檔。我被要求在單個Excel文檔中將信息分解成單獨的工作表,其中每個報表可以有不同數量的工作表(所以我不能在模板文件中使用多個工作表,因爲工作表的數量是不可預測的) 。如何使用Tiny But Strong的Excel插件合併多個Excel文檔?

我可以輕鬆創建單獨的Excel文檔,並使用命名約定來確定要合併哪些Excel文檔,但我找不到使用TinyButStrong Excel合併文檔的方法。

注:由於我們的環境,PHP Excel是不是一種選擇。

請讓我知道如果你知道的方式來合併多個Exc3el文件或以編程方式創建從一個單一的工作表模板創造了無數的工作表的Excel文檔。

謝謝。

+0

歡迎來到堆棧溢出 - 很高興有你。請閱讀[我如何提出一個好問題?](https://stackoverflow.com/help/how-to-ask)和[如何創建一個最小,完整和可驗證的示例](https:// stackoverflow。 com/help/mcve)幫助將Stack Overflows內容保持在最高級別,並增加獲得正確答案的機會。 – Axel

回答

1

現在你不能合併多個XLSX文件到一個單一的一個。 這是因爲,儘管閱讀工作表XML源是可能的OpenTBS,你不能簡單地從XLSX源文件的XML複製到另一個XLSX目標文件 因爲這種XML使用若干內部IDS的風格,評論,打印設置,...這些ID存儲在XML源文件中的複雜位置。 所以這樣一個簡單的副本將產生一個無效的目標XLSX文件。

另一點是,OpenTBS不能(現在)創建於XLSX新的工作表。它只能修改,刪除或隱藏模板中的現有工作表。

因此,對於你的問題的解決方案是有包含所有你可以在最後的XLSX文件可能的工作表一個XLSX模板文件。 然後,您可以合併所需的工作表(使用OPENTBS_SELECT_SHEET)並刪除不需要的工作表(使用OPENTBS_DELETE_SHEETS)。

+0

謝謝!這幫助我解決了類似的問題......我仍然希望OpenTBS能夠在XLSX中創建多個工作表:) – AAA

+0

謝謝。我正在嘗試,現在遇到了合併多個塊的問題。當我嘗試單獨的MergeBlock語句如下: $ TBS-> MergeBlock('b1',$ block_b1); $ TBS-> MergeBlock('b2',$ block_b2); ...結果忽略了第一個塊。 我看到關於合併多個塊的註釋,但在每個塊中使用相同的數據: $ TBS-> MergeBlock('b1,b2,b3',$ block_data_used_in_each); ...但TBS文檔中沒有提到如何在每個塊中合併不同的數組。 –

相關問題