Я использую C # и Библиотека объектов Microsoft Word 12.0 для чтения данных из файла .doc и затем сохраняю это содержимое в текстовом файле (это требуется для моего проекта).В моем файле .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);
}
}
У кого-нибудь есть идеи, как мне удалить такие странные символы, пожалуйста?