请问这个如何把一个excel文件里的多个工作表提取到datagridview里面?在线等答案!!!! 如题,通过单击一个按钮可以打开excel文件,并将excel里面的内容提取到这个datagridview里面。对于单击不同的按钮,datagridview之前的数据全部覆盖!且允许excel的合并单元格内容完好显示在里面~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://download.csdn.net/source/1100066 //打开一个文件选择框 OpenFileDialog ofd = new OpenFileDialog(); ofd.Title = "Excel文件"; ofd.FileName = ""; ofd.Filter = "Excel文件(*.xls)|*.xls"; try { if (ofd.ShowDialog() == DialogResult.OK) { string tableName = ""; //if (arratlist != null) //{ // arratlist.Clear(); //} string Path = ofd.FileName; string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path + ";Extended Properties=Excel 8.0;"; OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null); tableName = schemaTable.Rows[0][2].ToString().Trim(); //for (int i = 0; i < schemaTable.Rows.Count; i++) //{ // arratlist.Add(schemaTable.Rows[i][2].ToString().TrimStart('\'').Trim('\'', '$'));// //} //arratlist.Sort(); string strExcel = "Select * From [" + tableName + "]"; OleDbCommand cmd = new OleDbCommand(strExcel, conn); System.Data.DataTable excelDt = new System.Data.DataTable(); OleDbDataAdapter da = new OleDbDataAdapter(strExcel, conn); da.Fill(excelDt); conn.Close(); MessageBox.Show("excel 导入成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); if (excelDt != null) { dataGridView1.DataSource = excelDt; } } } catch (Exception p) { MessageBox.Show(p.Message+"导入文件时出错,文件可能正被打开", "提示"); } 那怎么重新绑定呢?原来的datagridview已经绑定了一个数据源,现在单击另一个按钮,怎么让datagridview的数据源发生变化呢?能给一段实例代码吗?谢谢~ 在这个单击按钮中重新设置 dataGridView1.DataSource 导入EXCEL数据,刷新gridview吧 静态方法和动态方法的使用场合? Microsoft Sync Framework2.1在sql server 2005开发版不能同步 关于C#listbox的问题 郁闷,怎么回事 如何让winform程序在未初始化之前退出程序 多线程问题 datagrid 中使用checkbox批量删除记录 c#中Tpcilent 再次提问,C#引用OCX问题 高分盼求asp.net(C#)编码规范! 项目申请的可行性分析 我这样的人怎么写简历?请大家帮我出出主意!
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "Excel文件";
ofd.FileName = "";
ofd.Filter = "Excel文件(*.xls)|*.xls";
try
{
if (ofd.ShowDialog() == DialogResult.OK)
{
string tableName = "";
//if (arratlist != null)
//{
// arratlist.Clear();
//}
string Path = ofd.FileName;
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path + ";Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
tableName = schemaTable.Rows[0][2].ToString().Trim();
//for (int i = 0; i < schemaTable.Rows.Count; i++)
//{
// arratlist.Add(schemaTable.Rows[i][2].ToString().TrimStart('\'').Trim('\'', '$'));//
//}
//arratlist.Sort();
string strExcel = "Select * From [" + tableName + "]";
OleDbCommand cmd = new OleDbCommand(strExcel, conn);
System.Data.DataTable excelDt = new System.Data.DataTable();
OleDbDataAdapter da = new OleDbDataAdapter(strExcel, conn);
da.Fill(excelDt);
conn.Close();
MessageBox.Show("excel 导入成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
if (excelDt != null)
{
dataGridView1.DataSource = excelDt;
}
}
}
catch (Exception p)
{ MessageBox.Show(p.Message+"导入文件时出错,文件可能正被打开", "提示");
}