C#从EXCEL导入到dataset中有问题,高手帮忙看下
这是vs2010中导入的一个方法,每次执行到ExcelConn.Open();就自动退出了。privateDataSetdoImport(stringstrFileNam...
这是vs2010中 导入的一个方法,每次执行到ExcelConn.Open();就自动退出了。
private DataSet doImport(string strFileName) { if (strFileName == "") return null; string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "DataSource=" + strFileName + ";" + "Extended Properties=Excel 8.0;"; string strGetExcel = "SELECT * FROM [Sheet1$]";
OleDbConnection ExcelConn = new OleDbConnection(strConn); ExcelConn.Open();
OleDbDataAdapter ExcelDA = new OleDbDataAdapter(strGetExcel, strConn); DataSet ExcelDS = new DataSet(); try { ExcelDA.Fill(ExcelDS, "Test"); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } ExcelConn.Close(); return ExcelDS; }
我在ExcelConn.Open();那设置了断点,结果报下面的错误:
紧接着,在逐句执行就调用下面的方法清理资源:
到底是为什么也搞不清楚啊。。 展开
private DataSet doImport(string strFileName) { if (strFileName == "") return null; string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "DataSource=" + strFileName + ";" + "Extended Properties=Excel 8.0;"; string strGetExcel = "SELECT * FROM [Sheet1$]";
OleDbConnection ExcelConn = new OleDbConnection(strConn); ExcelConn.Open();
OleDbDataAdapter ExcelDA = new OleDbDataAdapter(strGetExcel, strConn); DataSet ExcelDS = new DataSet(); try { ExcelDA.Fill(ExcelDS, "Test"); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } ExcelConn.Close(); return ExcelDS; }
我在ExcelConn.Open();那设置了断点,结果报下面的错误:
紧接着,在逐句执行就调用下面的方法清理资源:
到底是为什么也搞不清楚啊。。 展开
2个回答
展开全部
这是我的一段导入excel文件代码:
OpenFileDialog openExcelFile = new OpenFileDialog();
if (openExcelFile.ShowDialog() == DialogResult.OK)
{
dataGridView1.DataSource = null;
string excelFileName = openExcelFile.FileName;
string connStr = @"Provider=Microsoft.ACE.OLEDB.12.0; " + "Persist Security Info=False;" + "Data Source=" + excelFileName + ";" + " Extended Properties=Excel 8.0";
OleDbConnection connxls = new OleDbConnection(connStr);
string sql = "SELECT * FROM [Sheet1$]";
data_set = new System.Data.DataSet();
// 查询数据
OleDbDataAdapter da = new OleDbDataAdapter(sql, connxls);
try
{
da.Fill(data_set);
}
catch (Exception ex)
{
MessageBox.Show("错误:\n" + ex.ToString(), "!");
}
dataGridView1.DataSource = data_set.Tables[0];
dataGridView1.Columns[1].Width = 70;
dataGridView1.Columns[2].Width = 70;
dataGridView1.Columns[3].Width = 70;
}
我估计是你的strConn 写的不对。你试一下我的看看,实现的方法和你的差不多,只是strConn不一样。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询