excel导入问题 能做到让EXCEL中的数据显示在datagridview上,并进行校验以后才导入数据库吗?97-2007的excel文件都可以显示和导入 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 通过OleDbConnection ,从excel获取数据为DataTable,然后再把获得的数据绑定至GridView上。例:(获取DataTable)DataSet dataSet = new DataSet(); string connStr = string.Empty; if (is2003Version) //Excel2003 { connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Extended Properties=\"Excel 8.0;IMEX=1;\""; } else//Excel2003 { connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties=\"Excel 12.0;IMEX=1;\""; } OleDbConnection oleDbConn = new OleDbConnection(connStr); DataTable dtSheetName =new DataTable(); if (string.IsNullOrEmpty(sheetName)) { dtSheetName = GetWorksheetName(fileName, is2003Version); } else { dtSheetName.Columns.Add("table_name"); dtSheetName.Columns.Add("table_type"); DataRow dr = dtSheetName.NewRow(); dr["table_name"] = sheetName; dr["table_type"] = "table"; dtSheetName.Rows.Add(dr); } foreach (DataRow dr in dtSheetName.Rows) { if (Convert.ToString(dr["table_type"]).ToLower() != "table") continue; DataTable dt = new DataTable(Convert.ToString(dr["table_name"])); string strSQL = string.Format("select * from [{0}]", dr["table_name"]); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = oleDbConn; cmd.CommandText = strSQL; cmd.CommandType = CommandType.Text; OleDbDataAdapter adapter = new OleDbDataAdapter(cmd); adapter.Fill(dt); dataSet.Tables.Add(dt); } return dataSet; 校验在DataTable表里做就可以呀 多进程共享数据,不知道有什么比较快捷,不消耗资源的方法 WPF程序如何调用DirectX API画图 FindControl的问题 交流 关天使用Web.Mail发送邮件的问题,,,在线待-- c#里如果调试win32下调用的函数 DropDownList问题(up有 分) 请教关于这个正则的写法 如何知道纸张类型名称,获取纸张大小 怎样将原有的datatable中特定的某一行的某几个字段的值改写,且这一行在表中的位置不变? Form中加图片后运行变卡 c# debug调试时修改前后没变化
例:(获取DataTable)
DataSet dataSet = new DataSet();
string connStr = string.Empty;
if (is2003Version) //Excel2003
{
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Extended Properties=\"Excel 8.0;IMEX=1;\"";
}
else//Excel2003
{
connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties=\"Excel 12.0;IMEX=1;\"";
}
OleDbConnection oleDbConn = new OleDbConnection(connStr);
DataTable dtSheetName =new DataTable();
if (string.IsNullOrEmpty(sheetName))
{
dtSheetName = GetWorksheetName(fileName, is2003Version);
}
else
{
dtSheetName.Columns.Add("table_name");
dtSheetName.Columns.Add("table_type");
DataRow dr = dtSheetName.NewRow();
dr["table_name"] = sheetName;
dr["table_type"] = "table";
dtSheetName.Rows.Add(dr);
}
foreach (DataRow dr in dtSheetName.Rows)
{
if (Convert.ToString(dr["table_type"]).ToLower() != "table") continue;
DataTable dt = new DataTable(Convert.ToString(dr["table_name"]));
string strSQL = string.Format("select * from [{0}]", dr["table_name"]);
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = oleDbConn;
cmd.CommandText = strSQL;
cmd.CommandType = CommandType.Text;
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
adapter.Fill(dt);
dataSet.Tables.Add(dt);
}
return dataSet;