C#とMicrosoft Word 12.0オブジェクトライブラリ .docファイルからデータを読み込み、これらの内容をテキストファイルに保存します(これは私のプロジェクトで必要です)。私の.docファイルにはいくつかのテーブルがあり、そのテーブルの各行とカラムを読み込む必要があります。 読み取り操作は、ここでC#でdocファイルを読むときに奇妙な文字を削除しますか?
を正常に実行されますが、データは添付画像のように(正方形のもののような)いくつかの奇妙な文字が含まれていた私が使用したコードは次のとおりです。
private void btnRead_Click(object sender, EventArgs e)
{
try
{
Microsoft.Office.Interop.Word.ApplicationClass wordObject = new ApplicationClass();
object file = textBox1.Text; //this is the path
object nullobject = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.Document docs = wordObject.Documents.Open
(ref file, ref nullobject, ref nullobject, ref nullobject,
ref nullobject, ref nullobject, ref nullobject, ref nullobject,
ref nullobject, ref nullobject, ref nullobject, ref nullobject,
ref nullobject, ref nullobject, ref nullobject, ref nullobject);
docs.ActiveWindow.Selection.WholeStory();
docs.ActiveWindow.Selection.Copy();
IDataObject data = Clipboard.GetDataObject();
String allData = "";
for (int t = 1; t < docs.Tables.Count; t++)
{
Table tbl = docs.Tables[t];
for (int r = 1; r < tbl.Rows.Count; r++)
{
for (int c = 1; c < 3; c++)
{
allData += tbl.Cell(r, c).Range.FormattedText.Text.Trim() + Environment.NewLine;
}
}
}
txtData.Text = allData;
saveTextFile(allData);
docs.Close(ref nullobject, ref nullobject, ref nullobject);
}
catch (Exception j)
{
MessageBox.Show(j.Message);
}
}
private void saveTextFile(String data)
{
try
{
StreamWriter sw = new StreamWriter(txtOutput.Text.Trim());
sw.WriteLine(data);
sw.Flush();
sw.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.StackTrace);
}
}
は誰もいどのように私はそのような奇妙な文字を削除することができます任意のアイデアがありますか?