将oledb读取的excel数据快速插入的sqlserver中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,而且代码简单,下面测试代码导入一个6万多条数据的sheet,包括读取(全部读取比较慢)在我的开发环境中只需要10秒左右,而真正的导入过程只需要4.5秒。
using System;
using System.Data;
using System.Windows.Forms;
using System.Data.OleDb;
namespace WindowsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//测试,将excel中的sheet1导入到sqlserver中
string connString = "server=localhost;uid=sa;pwd=sqlgis;database=master";
System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog();
c#中高效的excel导入sqlserver的方法
最新推荐文章于 2024-08-09 11:53:46 发布
本文介绍了一种使用C#通过SqlBulkCopy类将Excel数据高效导入到SQL Server的方法,避免了循环拼接SQL的低效问题。通过OleDb连接获取Excel数据,然后创建目标表并使用SqlBulkCopy进行批量导入,实现在10秒内导入6万多条数据。
摘要由CSDN通过智能技术生成