您的位置:首页 > 编程语言 > C#

C#2.0 读word的多个表格到DataGridView或是其它控件 XP Vista

2009-03-19 21:50 387 查看
1 #region DataTalbe 要考虑第一行是表头,第二行开始为数据

2

3 try

4 {

5 //tablePos表格序号,就是查找word文档几个表格的自动给的序号

6 for (int tablePos = 1; tablePos <= oDoc.Tables.Count; tablePos++)

7 {

8

9 string t = tablePos.ToString();

DataSet ds = new DataSet();

DataTable dt = new DataTable(t);

// DataGridView dgv = new DataGridView();

ds.Tables.Add(dt);

Word.Table nowTable = oDoc.Tables.Item(tablePos);

DataRow dr;

//取得第一行标题值

for (int rowPos = 1; rowPos <= nowTable.Rows.Count; rowPos++)

{

//第一行值

if (rowPos == 1)

{

for (int columPos = 1; columPos <= nowTable.Columns.Count; columPos++)

{

string tableMessage = nowTable.Cell(rowPos, columPos).Range.Text;

tableMessage = tableMessage.Remove(tableMessage.Length - 2, 2).Trim(); ;

//只求到了第一行值

dt.Columns.Add(tableMessage);

}

}

else

{

//第二行值

dr = dt.NewRow();

for (int columPos = 1; columPos <= nowTable.Columns.Count; columPos++)

{

string tableMessage = nowTable.Cell(rowPos, columPos).Range.Text;

tableMessage = tableMessage.Remove(tableMessage.Length - 2, 2).Trim();

dr[columPos - 1] = tableMessage;

}

dt.Rows.Add(dr);

}

}

dataGridView1.DataSource = ds.Tables[t].DefaultView;

}

}

catch (Exception ex)

{

//throw;

MessageBox.Show("你选择的文档不是表格格式不对", "提示");

}

oReadOnly = true;

Cursor = Cursors.Default;

#endregion
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: