C# EXCEL SQL SERVER操作问题 sql serverexcelc# 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其实只有两种方法,一个是sql insert正常插入,所有各种控件的更新全部间接调用的它还有就是bulkcopy,这种模式忽略约束、触发器、事务完整性检查等等,所以快 将Excel文件中的数据导入到SQL Server数据表中//选择Excel文件 private void btn_Select_Click(object sender, EventArgs e) { openFileDialog1.Filter = "Excel文件|*.xls";//设置打开文件筛选器 openFileDialog1.Title = "选择Excel文件";//设置打开对话框标题 openFileDialog1.Multiselect = false;//设置打开对话框中可以多选 if (openFileDialog1.ShowDialog() == DialogResult.OK)//判断是否选择了文件 { txt_Path.Text = openFileDialog1.FileName;//在文本框中显示Excel文件名 } }//将Excel文件数据写入到数据库private void timer1_Tick(object sender, EventArgs e) { string P_str_Name = "";//存储遍历到的Excel文件名 List<string> P_list_SheetNames = new List<string>();//实例化泛型集合对象,用来存储工作表名称 P_str_Name = txt_Path.Text;//记录遍历到的Excel文件名 P_list_SheetNames = GetSheetName(P_str_Name);//获取Excel文件中的所有工作表名 for (int j = 0; j < P_list_SheetNames.Count; j++)//遍历所有工作表 { if (ckbox_Windows.Checked)//如果用Windows身份验证登录Sql Server ImportDataToSql(P_str_Name, P_list_SheetNames[j], "Data Source=" + txt_Server.Text + ";Initial Catalog =" + cbox_Server.Text + ";Integrated Security=SSPI;");//将工作表内容导出到Sql Server else if (ckbox_SQL.Checked)//如果用Sql Server身份验证登录Sql Server ImportDataToSql(P_str_Name, P_list_SheetNames[j], "Data Source=" + txt_Server.Text + ";Database=" + cbox_Server.Text + ";Uid=" + txt_Name.Text + ";Pwd=" + txt_Pwd.Text + ";");//将工作表内容导出到Sql Server } System.Threading.Thread.Sleep(60000);//使线程休眠1分钟 } 其实分两步:1.先把excel读到内存里,这个所谓内存里,其实就是放到datatable里2.把内存数据写入数据库读excel又分为几种方式,OLEDB,ADODB,NPOI......写入数据库又分为几种方式,ODBC,ADODB,SQLComand...... writetoserver应该是方法里封装了Conn,在里面打开又关闭了 关于DataGridView数据绑定问题 【caozhy】求继续帮忙,TXT文档问题 如何获取谁在委托 Directory.GetFiles选文件时“排除”文件的问题??? 问一下怎么能同时用一个端口即使用HttpListener连接又使用 窗体根据数据库里的信息初始化 Hook API GetTickCount 关于int?可空类型的问题 求大神! comboBox 绑定数据列 怎么去除重复 急求:c#中如何实现数据库的备份和恢复.谢谢大家 迷一样的EndAcceptTcpClient。深坑! winform如何给动态创建的文本框赋值和取值?
还有就是bulkcopy,这种模式忽略约束、触发器、事务完整性检查等等,所以快
//选择Excel文件
private void btn_Select_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "Excel文件|*.xls";//设置打开文件筛选器
openFileDialog1.Title = "选择Excel文件";//设置打开对话框标题
openFileDialog1.Multiselect = false;//设置打开对话框中可以多选
if (openFileDialog1.ShowDialog() == DialogResult.OK)//判断是否选择了文件
{
txt_Path.Text = openFileDialog1.FileName;//在文本框中显示Excel文件名
}
}
//将Excel文件数据写入到数据库
private void timer1_Tick(object sender, EventArgs e)
{
string P_str_Name = "";//存储遍历到的Excel文件名
List<string> P_list_SheetNames = new List<string>();//实例化泛型集合对象,用来存储工作表名称
P_str_Name = txt_Path.Text;//记录遍历到的Excel文件名
P_list_SheetNames = GetSheetName(P_str_Name);//获取Excel文件中的所有工作表名
for (int j = 0; j < P_list_SheetNames.Count; j++)//遍历所有工作表
{
if (ckbox_Windows.Checked)//如果用Windows身份验证登录Sql Server
ImportDataToSql(P_str_Name, P_list_SheetNames[j], "Data Source=" + txt_Server.Text + ";Initial Catalog =" + cbox_Server.Text + ";Integrated Security=SSPI;");//将工作表内容导出到Sql Server
else if (ckbox_SQL.Checked)//如果用Sql Server身份验证登录Sql Server
ImportDataToSql(P_str_Name, P_list_SheetNames[j], "Data Source=" + txt_Server.Text + ";Database=" + cbox_Server.Text + ";Uid=" + txt_Name.Text + ";Pwd=" + txt_Pwd.Text + ";");//将工作表内容导出到Sql Server
}
System.Threading.Thread.Sleep(60000);//使线程休眠1分钟
}
1.先把excel读到内存里,这个所谓内存里,其实就是放到datatable里
2.把内存数据写入数据库读excel又分为几种方式,OLEDB,ADODB,NPOI......
写入数据库又分为几种方式,ODBC,ADODB,SQLComand......
应该是方法里封装了Conn,在里面打开又关闭了