我正在尝试读取excel文件并将数据放入C#中的数据表中。当我尝试使用Excel 97-2003文件格式(.xls)时,它工作正常。但是当我尝试使用Excel工作簿格式时(.xlsx) )它会出现如下错误,
"外部表格不符合预期格式。"
这是我的代码段。
string file_name = null;
OpenFileDialog file_d = new OpenFileDialog();
file_d.Filter = "Excel Files (*.xlsx)|*.xlsx|Excel Files (*.xls)|*.xls";
file_d.Title = "Select Attendance Record";
if (file_d.ShowDialog() == DialogResult.OK)
{
file_name = file_d.FileName;
}
String ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file_name + ";Extended Properties=Excel 8.0;";
try
{
System.Data.OleDb.OleDbConnection MyConnection;
System.Data.DataSet DtSet;
System.Data.OleDb.OleDbDataAdapter MyCommand;
MyConnection = new System.Data.OleDb.OleDbConnection(ConnectionString);
MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection);
MyCommand.TableMappings.Add("Table", "TestTable");
DtSet = new System.Data.DataSet();
MyCommand.Fill(DtSet);
dataGridView1.DataSource = DtSet.Tables[0];
MyConnection.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
请帮我解决错误。谢谢你。