回答
這裏是一個F#代碼片段,可能會爲您提供一個快速入門。它成功地提取Word2010中創建.docx
文件的所有文本內容的拼接線的字符串:
open System
open System.IO
open System.IO.Packaging
open System.Xml
let getDocxContent (path: string) =
use package = Package.Open(path, FileMode.Open)
let stream = package.GetPart(new Uri("/word/document.xml", UriKind.Relative)).GetStream()
stream.Seek(0L, SeekOrigin.Begin) |> ignore
let xmlDoc = new XmlDocument()
xmlDoc.Load(stream)
xmlDoc.DocumentElement.InnerText
printfn "%s" (getDocxContent @"..\..\test.docx")
爲了使它的工作,不要忘記在你的VS項目中引用WindowsBase.dll
。
.docx文件遵循Open Packaging Convention規範。在最底層,它們是.ZIP文件。要以編程方式讀它,看到這裏的例子:
A New Standard For Packaging Your Data
使用F#,這是同樣的故事,你就必須在System.IO.Packaging Namespace使用類。
嘗試使用Microsoft的OpenXML SDK。
在鏈接頁面上還有可用於反編譯Office 2007文件的Microsoft工具。即使對於簡單的文檔,反編譯的代碼也可能相當冗長,儘管如此被警告。 OpenXML SDK有一個很大的學習曲線。我發現它很難使用。
System.IO.File.ReadAllText
的類型爲string -> string
。
因爲.docx文件是一個二進制文件,所以字符串中的某些字符可能有鈴符。請查看Word automation,Packaging或OpenXML API
感謝您的回覆。我在這裏找到了docX http://docx.codeplex.com/。但我不知道如何在F#中使用它。如果你能爲我提供一些代碼,這將是非常有用的。新年快樂:-)有一個偉大的一年 – Exception 2011-12-31 19:37:22
更不用說默認情況下沒有壓縮docx文件。 – 2012-01-02 20:56:50
- 1. 用python讀取docx文件
- 2. 如何顯示或讀取docx文件
- 3. 如何讀取.doc或.docx文件
- 4. 使用python-docx從docx文件讀取coreproperties關鍵字
- 5. 我們如何使用C#讀取.docx文件?
- 6. 如何使用commons.io.FileUtils讀取/寫入docx文件?
- 7. 如何修改當前代碼以使用HTML5文件API讀取.docx文件
- 8. 如何使用F#TypeProvider讀取PowerBall csv?
- 9. 使用python讀寫.docx文件
- 10. 我如何閱讀.docx文件?
- 11. 在C中讀取DOC和DOCX文件#
- 12. 在Java中逐行讀取docx文件
- 13. 如何使用python-docx提取docx文檔中的節號?
- 14. 使用xdocreport,是否可以從docx文件讀取圖形?
- 15. 不能像讀取docx文件一樣使用php
- 16. 使用Apache POI從docx文件讀取表格
- 17. 如何使用PHP中的LiveDocx來讀取.doc&.docx文件並讀取其中的文本並保存爲HTML?
- 18. 如何在.net中讀取.doc和.docx文件而不使用interop,openxml或Aspose?
- 19. 如何在Java中讀取Doc或Docx文件?
- 20. 如何讀取,操縱和編寫.docx文件c
- 21. 如何使用python創建docx文件
- 22. 使用ZipInputStream從docx文件獲取document.xml
- 23. 如何文件讀入行的F#
- 24. 使用Apache POI讀取和寫入.docx
- 25. 讀取DOCX與python2.7
- 26. 庫在F#讀取CSV文件
- 27. 如何與Apache POI讀取.DOCX在Android
- 28. 使用python-docx來讀取.docx,保留特殊字符,bullet
- 29. 如何從Python使用doc/docx文件提取數據
- 30. 在Java NetBeans的讀取文件或文件DOCX問題
大拇指爲優雅的解決方案。現在可以切換到XDocument。 Framework 1.1將於9歲關閉,而Linq的XDom顯然更具功能性。 – 2012-01-02 20:55:24