把excel表格数据导入到SqlServer
2010-09-11 15:04
746 查看
1. 读取excel表数据
OpenFileDialog open = new OpenFileDialog();
open.Filter = "Excel Worksheets|*.xls";
if (open.ShowDialog() == DialogResult.OK)
{
this.txtBrowser.Text = open.FileName;
//连接串
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + open.FileName + ";Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(connectionString);
conn.Open();
//返回Excel的架构,包括各个sheet表的名称,类型,创建时间和修改时间等
DataTable dtSheetName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });
//包含excel中表名的字符串数组,可解决查找不到sheet表的问题
string[] strTableNames = new string[dtSheetName.Rows.Count];
for (int k = 0; k < dtSheetName.Rows.Count; k++)
{
strTableNames[k] = dtSheetName.Rows[k]["TABLE_NAME"].ToString();
}
OleDbDataAdapter myCommand = null;
DataTable dgvCustomerInfo = new DataTable();
//从指定的表明查询数据,可先把所有表明列出来供用户选择
string strExcel = "select * from [" + strTableNames[0] + "]";
myCommand = new OleDbDataAdapter(strExcel, connectionString);
dgvCustomerInfo = new DataTable();
myCommand.Fill(dgvCustomerInfo);
this.dgvExcelInfo.DataSource = dgvCustomerInfo;
}
2. 导入SqlServer数据库
//本地连接字符串
string ConnectionString = ConfigurationManager.AppSettings["ConnectionString"];
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
conn.Open();
string sqlstr = string.Empty;
for (int i = 0; i < this.dgvExcelInfo.Rows.Count; i++)
{
if (this.dgvExcelInfo.Rows[i].Cells["顧客NO#"].Value.ToString().Trim() == string.Empty)
{
continue;
}
string tempCustomerID = this.dgvExcelInfo.Rows[i].Cells["顧客NO#"].Value.ToString().Trim();
sqlstr += " UPDATE CustomerMst SET " + updateSqlConcat(this.dgvExcelInfo.Rows[i]) + " WHERE CustomerID=" + tempCustomerID;
}
SqlCommand command = new SqlCommand(sqlstr, conn);
command.ExecuteNonQuery();
SqlDataAdapter sa = new SqlDataAdapter("SELECT * FROM CustomerMst cm", conn);
DataTable dtSql = new DataTable();
sa.Fill(dtSql);
this.dgvCustomerInfo.DataSource = dtSql;
}
OpenFileDialog open = new OpenFileDialog();
open.Filter = "Excel Worksheets|*.xls";
if (open.ShowDialog() == DialogResult.OK)
{
this.txtBrowser.Text = open.FileName;
//连接串
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + open.FileName + ";Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(connectionString);
conn.Open();
//返回Excel的架构,包括各个sheet表的名称,类型,创建时间和修改时间等
DataTable dtSheetName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });
//包含excel中表名的字符串数组,可解决查找不到sheet表的问题
string[] strTableNames = new string[dtSheetName.Rows.Count];
for (int k = 0; k < dtSheetName.Rows.Count; k++)
{
strTableNames[k] = dtSheetName.Rows[k]["TABLE_NAME"].ToString();
}
OleDbDataAdapter myCommand = null;
DataTable dgvCustomerInfo = new DataTable();
//从指定的表明查询数据,可先把所有表明列出来供用户选择
string strExcel = "select * from [" + strTableNames[0] + "]";
myCommand = new OleDbDataAdapter(strExcel, connectionString);
dgvCustomerInfo = new DataTable();
myCommand.Fill(dgvCustomerInfo);
this.dgvExcelInfo.DataSource = dgvCustomerInfo;
}
2. 导入SqlServer数据库
//本地连接字符串
string ConnectionString = ConfigurationManager.AppSettings["ConnectionString"];
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
conn.Open();
string sqlstr = string.Empty;
for (int i = 0; i < this.dgvExcelInfo.Rows.Count; i++)
{
if (this.dgvExcelInfo.Rows[i].Cells["顧客NO#"].Value.ToString().Trim() == string.Empty)
{
continue;
}
string tempCustomerID = this.dgvExcelInfo.Rows[i].Cells["顧客NO#"].Value.ToString().Trim();
sqlstr += " UPDATE CustomerMst SET " + updateSqlConcat(this.dgvExcelInfo.Rows[i]) + " WHERE CustomerID=" + tempCustomerID;
}
SqlCommand command = new SqlCommand(sqlstr, conn);
command.ExecuteNonQuery();
SqlDataAdapter sa = new SqlDataAdapter("SELECT * FROM CustomerMst cm", conn);
DataTable dtSql = new DataTable();
sa.Fill(dtSql);
this.dgvCustomerInfo.DataSource = dtSql;
}
相关文章推荐
- 少量数据通过Excel表格数据导入server SqlServer查询
- sqlserver 批量导入Excel表格数据
- Android数据转化为Excel表格导入导出
- Navicat把excel表格数据导入数据库表
- oracle导入excel表格数据
- Excel数据导入到SQLServer中
- ThinkPHP3.1.3使用phpExcel1.8.0实现数据从Excel表格导入mysql数据库
- c++ 读写Excel及数据导入SQLServer
- excel表格数据导入SQL数据库中的注意点
- ASP.NET下将Excel表格中的数据规则的导入数据库思路分析及实现
- ASP将Excel数据导入到SQLServer的实现代码
- 查询语句SqlServer与Excel数据导入导出
- Java导入Excel表格,并将数据存入数组中
- 写了一个关于简单的Excel表格导入sqlserver
- 在Asp.Net中,导入Excel表格数据,通常有两种方法
- sqlserver怎么将excel表的数据导入到数据库中
- excel导入数据到sqlserver的问题
- SQLServer外部数据导入--Excel版
- excel表格数据导入数据库
- mysql导入excel表格数据时出错的解决