Microsoft Word文書(.docx)に接続して、.docxにあるテーブルの値を読み取ろうとしています。私はOpen-XML SDK 2.0を使って.docxファイルに接続しています。これまでの例とアイデアを探していた後、私はこれを持って、C#を使用してword docのテーブルから値を読み取る方法
public static string TextFromWord(string file)
{
const string wordmlNamespace = "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
StringBuilder textBuilder = new StringBuilder();
using (WordprocessingDocument wDoc = WordprocessingDocument.Open(filename,false))
{
//Manage namespaces to perform Xpath queries
NameTable nt = new NameTable();
XmlNamespaceManager nsManger = new XmlNamespaceManger(nt);
nsManager.AddNamespace("w", wordmlNamespace);
//Get the document part from the package.
//Load the XML in the document part into an XmlDocument instance.
XmlDocument xdoc = new XmlDocument(nt);
xdoc.Load(wdDoc.MainDocumentPart.GetStream());
XmlNodeList paragraphNodes = xdoc.SelectNodes("//w:p", nsManager);
foreach (XmlNode paragraphNode in paragraphNodes)
{
XmlNodeList textNodes = paragraphNode.SelectNodes(".//w:t", nsmanager);
foreach (System.Xml.XmlNode textNode in textNodes)
{
textBuilder.Append(textNode.InnerText);
}
textBuilder.Append(Environment.NewLine);
}
}
return textBuilder.ToString();
}
コードは、.docxの中だけのテキストがある場合に動作しますが、テキストがテーブルにあるときに失敗しました。これを修正して.docxのテーブルで動作する方法はありますか?
はどのようにして数字を読むことができるか、アン順序あなたがリストの種類と番号を取得するMS Wordのリスト? – Shuaib