C#2.0 读word的多个表格到DataGridView或是其它控件 XP Vista
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();
10 DataSet ds = new DataSet();
11 DataTable dt = new DataTable(t);
12 // DataGridView dgv = new DataGridView();
13 ds.Tables.Add(dt);
14
15 Word.Table nowTable = oDoc.Tables.Item(tablePos);
16 DataRow dr;
17
18 //取得第一行标题值
19 for (int rowPos = 1; rowPos <= nowTable.Rows.Count; rowPos++)
20 {
21 //第一行值
22 if (rowPos == 1)
23 {
24 for (int columPos = 1; columPos <= nowTable.Columns.Count; columPos++)
25 {
26 string tableMessage = nowTable.Cell(rowPos, columPos).Range.Text;
27 tableMessage = tableMessage.Remove(tableMessage.Length - 2, 2).Trim(); ;
28 //只求到了第一行值
29 dt.Columns.Add(tableMessage);
30
31
32
33 }
34 }
35 else
36 {
37 //第二行值
38 dr = dt.NewRow();
39 for (int columPos = 1; columPos <= nowTable.Columns.Count; columPos++)
40 {
41 string tableMessage = nowTable.Cell(rowPos, columPos).Range.Text;
42 tableMessage = tableMessage.Remove(tableMessage.Length - 2, 2).Trim();
43 dr[columPos - 1] = tableMessage;
44
45 }
46 dt.Rows.Add(dr);
47
48 }
49 }
50
51 dataGridView1.DataSource = ds.Tables[t].DefaultView;
52
53 }
54
55
56 }
57 catch (Exception ex)
58 {
59 //throw;
60 MessageBox.Show("你选择的文档不是表格格式不对", "提示");
61 }
62 oReadOnly = true;
63 Cursor = Cursors.Default;
64 #endregion
2
3 try
4 {
5 //tablePos表格序号,就是查找word文档几个表格的自动给的序号
6 for (int tablePos = 1; tablePos <= oDoc.Tables.Count; tablePos++)
7 {
8
9 string t = tablePos.ToString();
10 DataSet ds = new DataSet();
11 DataTable dt = new DataTable(t);
12 // DataGridView dgv = new DataGridView();
13 ds.Tables.Add(dt);
14
15 Word.Table nowTable = oDoc.Tables.Item(tablePos);
16 DataRow dr;
17
18 //取得第一行标题值
19 for (int rowPos = 1; rowPos <= nowTable.Rows.Count; rowPos++)
20 {
21 //第一行值
22 if (rowPos == 1)
23 {
24 for (int columPos = 1; columPos <= nowTable.Columns.Count; columPos++)
25 {
26 string tableMessage = nowTable.Cell(rowPos, columPos).Range.Text;
27 tableMessage = tableMessage.Remove(tableMessage.Length - 2, 2).Trim(); ;
28 //只求到了第一行值
29 dt.Columns.Add(tableMessage);
30
31
32
33 }
34 }
35 else
36 {
37 //第二行值
38 dr = dt.NewRow();
39 for (int columPos = 1; columPos <= nowTable.Columns.Count; columPos++)
40 {
41 string tableMessage = nowTable.Cell(rowPos, columPos).Range.Text;
42 tableMessage = tableMessage.Remove(tableMessage.Length - 2, 2).Trim();
43 dr[columPos - 1] = tableMessage;
44
45 }
46 dt.Rows.Add(dr);
47
48 }
49 }
50
51 dataGridView1.DataSource = ds.Tables[t].DefaultView;
52
53 }
54
55
56 }
57 catch (Exception ex)
58 {
59 //throw;
60 MessageBox.Show("你选择的文档不是表格格式不对", "提示");
61 }
62 oReadOnly = true;
63 Cursor = Cursors.Default;
64 #endregion
哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)生存.---Geovin Du(涂聚文)