7
A
回答
5
我在過去做過很多種方法。這取決於用戶是從Microsoft Word的OUTSIDE還是從INSIDE Microsoft Word啓動操作。
從INSIDE Microsoft Word中,你可以使用以下技術之一:模板
- 公開賽佔位符和使用VBA或VSTO使用使用複製粘貼&數據源對它們進行迭代。請注意,桌子也是犯罪。這種方法類似於下面的「OUTSIDE」的方法1。缺點是它相對較慢(複製粘貼&)並且Microsoft Word自動更正喜歡在最不需要的時候啓動。
- 使用佔位符打開模板並使用VBA或VSTO解析XML表示,然後替換它們。這是更快,但更難寫。特別是因爲XML表示可以在佔位符內包含XML片段(例如'
&lt;&lt;PUT_<xxx/>IT_HERE&gt;&gt;
'和更復雜的情況)。另外,您需要確保您保留有效的XML文檔並且保持良好的平衡。
從OUTSIDE Microsoft Word中(如網絡接口),可以使用以下方法之一:
- 商店模板,使用RTF地方(這是更容易比Word自帶的結構處理)。將'
<<PLACEHOLDER-FOR-NAME>>
'或類似的容易識別的文本放在您想要替換的地方。當用戶請求Word文檔時,獲取RTF,獲取數據,替換佔位符,服務器RTF給用戶。 RTF有一些限制,但有一些優點。優點是:易於創建新模板,並且可以與Microsoft Wordpad和其他Office軟件包配合使用。缺點是表格是一個真正的混亂過程,並不是所有的Microsoft Word結構都是可能的。重複表中的行甚至不推薦。高音量可能是一個問題。 - 使用恰好也輸出docx,doc或RTF文檔的報告包。寫報告。一般來說非常適合高音量。如果您希望最終用戶輸入大量附加文本,則不太合適,因爲報告包通常基於頁面而不是基於流動文本工作,有時會插入顯式或隱式分頁符。但是如果你只需要最終用戶輸入一兩句話,那就足夠了。
- 胖客戶端。把SQL數據放在某個地方。打開Word。閱讀數據並查看來自INSIDE Microsoft Word的更多技術。
如果您需要填寫從SQL Server(或任何其他數據庫或數據平臺)一個Word文檔,我可以建議的Invantive Composition for filling Word documents from the database免費版(請注意,我一直在參與該產品)。它打開模板並在Word中將它們合併,但更多地針對非開發人員;只需指定模板和數據塊(可能嵌套)併發布即可。開發人員只能在插件中添加一些C#。我認爲這是一個很好的產品,當你有很多模板(超過50),因爲它更容易擴展。
-4
您也可以嘗試使用MS-Excel,因爲它比Word更好地綁定XML。 使Excel產生'Word'風格的輸出也很容易。
2
您可以使用Microsoft Query從SQL數據庫中的數據提取到您的文檔,該視頻可能是有用的 https://vimeo.com/83983247
相關問題
- 1. 如何從數據庫檢索數據到word文檔。淨
- 2. 如何在vb中從SQL數據庫檢索數據。淨?
- 3. 如何檢索.mdf sql數據庫中的圖像在vb 2010
- 4. 如何從SQL Server數據庫中檢索數據
- 5. 如何從數據庫檢索數據
- 6. 如何從SQL數據庫檢索行數據 - Android電子
- 7. 如何從SQL數據庫檢索UTF-8數據?
- 8. 從SQLite數據庫中檢索數據
- 9. 從Firebase數據庫中檢索數據
- 10. 從數據庫中檢索數據
- 11. 從PHP數據庫中檢索數據
- 12. 從數據庫中檢索數據
- 13. 從數據庫中檢索數據..
- 14. 從word文件中檢索數據
- 15. Swift從數據庫中檢索數據
- 16. 從MySQL數據庫中檢索數據
- 17. 從在線數據庫檢索數據
- 18. 如何從數據庫中檢索值?
- 19. 如何從數據庫中檢索
- 20. 檢索從數據庫中
- 21. 從sql數據庫檢索隨機數據不重複
- 22. 如何使用函數從Web SQL數據庫中檢索值?
- 23. 如何在android中從數據庫檢索數據?
- 24. 從asp.net中的SQL Server數據庫中檢索數據
- 25. 從SQL Server數據庫中檢索東亞語言數據
- 26. 從SQL Server數據庫檢索文件
- 27. 從SQL Server CE數據庫中檢索SqlDbType.Image類型的數據
- 28. 從sql數據庫檢索圖像
- 29. 如何從數據庫檢索數據庫在SQLite數據庫ina android
- 30. 從SQL Lite數據庫檢索數據到EditText中
這不是幾乎回答了這個問題。 – jorrebor 2014-02-12 15:31:58