为什么没有第一行?读EXCEL到datagridview,帮我啊!!!
代码如下:不知道哪里有问题
private void ind()
{
string EXCELCONNECTION = "Provider=Microsoft.Jet.OLEDB.4.0;"
+ " Extended Properties='Excel 8.0;"
+ " HDR=YES';";
System.Data.DataTable dt = new System.Data.DataTable();
dt=null;
string strExcelFileName = @"c:\test1.xls";
if (File.Exists(strExcelFileName) == false)
{
MessageBox.Show("文件'" + strExcelFileName + "'不存在");
}
// 执行导出数据
string strConnection = EXCELCONNECTION
+ "Data Source=" + strExcelFileName + ";";
OleDbConnection connection = new OleDbConnection(strConnection);
connection.Open();
try
{
string strCommand = "SELECT * FROM [Sheet1$]";
OleDbDataAdapter adapter = new OleDbDataAdapter(strCommand,connection);
dt = new System.Data.DataTable();
int nCount = adapter.Fill(dt);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
connection.Close();
}
this.dataGridView1.DataSource = dt;
}
--------------------编程问答-------------------- ding --------------------编程问答-------------------- 换成dataset试一下
DataSet dataset;
try
{
string strCommand = "SELECT * FROM [Sheet1$]";
OleDbDataAdapter adapter = new OleDbDataAdapter(strCommand,connection);
adapter.Fill(dataset,"sheet$1");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
connection.Close();
}
this.dataGridView1.Refresh();
this.dataGridView1.DataSource = dataset.Tables[0].DefaultView;
}
--------------------编程问答-------------------- 用DATASET不行啊,是为什么啊??? --------------------编程问答-------------------- WHY --------------------编程问答-------------------- 我记得是把第一行当成标题了,应该读不到。 --------------------编程问答-------------------- 你要想更好控制excle ,建议你用com组件,只是批量读入的时候用oledb --------------------编程问答-------------------- SELECT * 这个星好可以改成标题名吧,你试试看看随便写个标题,程序是不是报错,要是的话就是第一行是标题列了。 --------------------编程问答-------------------- 那大家都是如何解决的呢?改成标题没有报错,但是仍然是没有第一行 --------------------编程问答-------------------- 我也是同样的问题。。我是读到DataSet里的。 --------------------编程问答-------------------- HDR=YES改成HDR=No。 --------------------编程问答-------------------- 07年的帖子也能回???
补充:.NET技术 , C#