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
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
相关文章推荐
- c# xptable NET中最强,最全功能的表格控件
- XPTable .Net2.0-4.0表格控件
- C#中如何遍历datagridview表格控件中的每一个格子(每一个单元格)
- c# datagridview表格控件常用操作
- [原]C# 读取Word 表格数据(单元格纵合并)
- C# winform datagridview 无需点击两次即可编辑内嵌控件的方法和删除默认的空行的方法
- C#操作Word总结(三)——表格处理、把Word文档转化成为HTML
- C#控件之DataGridView
- 在Visual Studio 2005的DataGridView控件中加入ComboBox下拉列表框的实现(C#)
- 【转】【C#】在 Windows 窗体 DataGridView 单元格中承载控件
- [转]C#控件——DataGridView单元格文本自动换行
- 如何在C#中利用DataGridView控件编辑数据
- 用C#操作office组件库实现word文档的创建及文字 表格 图片的插入
- C# WinForm DataGridView控件使用
- C#操作word之插入表格
- C#(DotNET CF 2.0) 模拟WP7的拖拉控件方式
- 请教C#向word中插入C#制作的控件
- c# winform datagridview 控件 删除最左边一列
- C# DataGridView控件使用示例
- c#控件-datagridview