错误消息";外部表格不是预期的格式";当我试图用C#程序上传文件时
我正在创建一个C#程序,在这里我可以在C#中的datagridview中浏览和查看文件。我已经测试过很多次了,效果很好。但昨天,当我再次尝试这样做时,显示了一条错误消息,说明“Provider=Microsoft.Jet.OLEDB.4.0;”。我正在测试的文件与我以前使用的文件相同(没有错误)。我没有对文件(excel文件)做任何操作 这是错误消息的打印屏幕: 这是我使用的代码:错误消息";外部表格不是预期的格式";当我试图用C#程序上传文件时,c#,excel,datagridview,oledb,dataadapter,C#,Excel,Datagridview,Oledb,Dataadapter,我正在创建一个C#程序,在这里我可以在C#中的datagridview中浏览和查看文件。我已经测试过很多次了,效果很好。但昨天,当我再次尝试这样做时,显示了一条错误消息,说明“Provider=Microsoft.Jet.OLEDB.4.0;”。我正在测试的文件与我以前使用的文件相同(没有错误)。我没有对文件(excel文件)做任何操作 这是错误消息的打印屏幕: 这是我使用的代码: private void buttonUpload_Click(object sender, EventArg
private void buttonUpload_Click(object sender, EventArgs e)
{
string OleDBConnection = String.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;""", textBoxFileName.Text);
string query = String.Format("select * from [{0}$]", "Sheet1");
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, OleDBConnection);
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);
dataGridView1.DataSource = dataSet.Tables[0];
}
请阅读错误信息中的文字。“外部表的格式不符合要求”非常清楚-您告诉数据提供程序在连接字符串中需要某种格式的文件(
Excel 8.0
),而您打开的文件格式不正确,可能是因为textBoxFileName.Text
中的文件不受支持。你的问题中绝对没有比这更有用的信息了-检查你正在传递的文件textBoxFileName.Text
。
If Path.GetExtension(pth).ToLower().Equals(".xls") Then
strcon = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & pth & ";Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;"""
Else
strcon = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & pth & ";Extended Properties=""Excel 12.0;HDR=YES;IMEX=1;"""
End If