Работя върху написването на програма, която ще анализира текстови данни от документ на Microsoft Word 2010. По-конкретно, искам да получа текст от всяка клетка в първата колона на всяка таблица в документа.
За справка, документът изглежда така:
Трябва ми само текст от клетките в първата колона на всяка страница. Ще добавя този текст във вътрешна таблица с данни.
Моят код досега изглежда така:
private void button1_Click(object sender, EventArgs e)
{
// Create an instance of the Open File Dialog Box
var openFileDialog1 = new OpenFileDialog();
// Set filter options and filter index
openFileDialog1.Filter = "Word Documents (.docx)|*.docx|All files (*.*)|*.*";
openFileDialog1.FilterIndex = 1;
openFileDialog1.Multiselect = false;
// Call the ShowDialog method to show the dialog box.
openFileDialog1.ShowDialog();
txtDocument.Text = openFileDialog1.FileName;
var word = new Microsoft.Office.Interop.Word.Application();
object miss = System.Reflection.Missing.Value;
object path = openFileDialog1.FileName;
object readOnly = true;
var docs = word.Documents.Open(ref path, ref miss, ref readOnly,
ref miss, ref miss, ref miss, ref miss,
ref miss, ref miss, ref miss, ref miss,
ref miss, ref miss, ref miss, ref miss,
ref miss);
// Datatable to store text from Word doc
var dt = new System.Data.DataTable();
dt.Columns.Add("Text");
// Loop through each table in the document,
// grab only text from cells in the first column
// in each table.
foreach (Table tb in docs.Tables)
{
// insert code here to get text from cells in first column
// and insert into datatable.
}
((_Document)docs).Close();
((_Application)word).Quit();
}
Заседнал съм в частта, в която вземам текста от всяка клетка и го добавям към моята таблица с данни. Може ли някой да ми предложи някои насоки? Със сигурност бих го оценил.
Благодаря!