解决方案 »
- 如何判断字符串长度超过了控件宽度
- C# 怎么判断webbrowser 装载的是我想要的网页,还是错误页面
- 在WINFORM(C#)如何将数据库中的表中的数据导出,生成EXCEL文件
- .net2005 webpart 的问题,拖动时为什么会刷新?
- 请问:有谁做过DataGrid (winForm)下的打印的,给小弟说说噻
- 【一个常见问题】Const 和 static readonly 区别?编译期初始化和运行期初始化到底什么概念
- 请问各位高手,C#开发的软件能否在64位英文Win7和64位中文系统中同时使用?
- 如何用C#采集淘宝宝贝详细页面中的内容?
- 菜啊,我这都不会,大家帮帮忙。
- 怎样制作象visio等软件的工具箱(多面板,边缘可连接),
- 新手求教简单问题3,但是我不懂!
- 废弃的代码要保留在项目中吗?
dataGridView1.Rows[i].Cells[0].Value = table.Tables[0].Rows[0][i].ToString();这样你试试。看看好使不。
dataGridView1.Rows[i].Cells[2].Value = table.Tables[0].Rows[0][i].ToString();
//固定第三列
dataGridView1.Columns.Add("col1","列1"); int num = table.Tables[0].Rows.Count;
for (int i = 0; i < num; i++)
{
dataGridView1.Rows.Add(table.Tables[0].Rows[0][i].ToString());
}
{
dataGridView1.Columns.Add("col1", "列1");
dataGridView1.Columns.Add("col2", "列2");
dataGridView1.Columns.Add("col3", "列3");
}
int num = table.Tables[0].Rows.Count;
for (int i = 0; i < num; i++)
{
dataGridView1.Rows.Add(null,null,table.Tables[0].Rows[0][i].ToString());
}
这个是不错,可是为什么DataGrid在后面的列自动把table的内容都显示出来了???
这是取到table的行数,请问咋取到table的列数呢???哎,row既是行,又是列的意思,真郁闷!
是的是dateSet,他好像默认把我的table第一行作为数据字段了,但是我想取得就是第一行的内容我的目的是:把EXCEL的列名取出来做DataGrid的一行没想到这么郁闷。。
{
MessageBox.Show(table.Tables[0].Rows.Count.ToString());
for (int i = 0;i<table.Tables[0].Columns.Count;i++)
{
table.Tables[0].Columns[i].ColumnName = table.Tables[0].Rows[0][i].ToString();
table.Tables[0].Columns[i].Caption = table.Tables[0].Rows[0][i].ToString();
}
}
table.Tables[0].Rows.RemoveAt(0);
姓名 小明 猪 狼
性别 女 女 女
那么就把dataGridView1.Rows[i].Cells[2].Value = table.Tables[0].Rows[0][i].ToString();
改一下就可以了。。不过你头俩列也要有数据才行。。要不然可能就不好使了。
谢谢大哥,但是还是取不到EXcel的列名,直接取得是第二行。。
难道说你单独想提取第一行的列名数据吗?
另外你的dataGridView1不要设置任何的手动添加的列,让列自动分配,这样我的设置才会有效。
哦,其实在DataGrid显示的时候,第一列也不是EXCEL的列名,而直接是数据
string strConn = string.Format("Provider=Microsoft.Jet.Oledb.4.0;Data Source='{0}';Extended Properties=Excel 8.0;", textBox1.Text);
string sql = "select * from [Sheet1$]";
OleDbDataAdapter adapter = new OleDbDataAdapter(sql, strConn);
table = new DataSet();
adapter.Fill(table); if (table.Tables[0].Rows.Count > 1)
{
for (int i = 0; i < table.Tables[0].Columns.Count; i++)
{
int p = i + 1;
table.Tables[0].Columns[i].ColumnName = table.Tables[0].Rows[0][i].ToString();
table.Tables[0].Columns[i].Caption = table.Tables[0].Rows[0][i].ToString();
dataGridView1.Rows.Add(null, "Column " + p, table.Tables[0].Rows[0][i].ToString());
}
}
table.Tables[0].Rows.RemoveAt(0);
这是全部代码。。
string sql = "select * from [Sheet1$]";
OleDbDataAdapter adapter = new OleDbDataAdapter(sql, strConn);
table = new DataSet();
adapter.Fill(table); if (table.Tables[0].Rows.Count > 1)
{
for (int i = 0; i < table.Tables[0].Columns.Count; i++)
{
int p = i + 1;
table.Tables[0].Columns[i].ColumnName = table.Tables[0].Rows[0][i].ToString();
table.Tables[0].Columns[i].Caption = table.Tables[0].Rows[0][i].ToString();
dataGridView1.Rows.Add(null, "Column " + p, table.Tables[0].Rows[0][i].ToString());
}
}
table.Tables[0].Rows.RemoveAt(0);