c#中高效的 excel 导入 sqlserver 的方法
时间:2010-02-26 15:15:53 来源:网络 作者:未知 点击:343 次
将 oledb 读取的 excel 数据快速插入的 sqlserver 中,很多人通过循环来拼接 sql,这样做
不但容易出错而且效率低下,最好的办法是使用 bcp,也就是
System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,而且代码简单,下面测
试代码
将 oledb 读取的 excel 数据快速插入的 sqlserver 中,很多人通过循环来拼接
sql,这样做不但容易出错而且效率低下,最好的办法是使用 bcp,也就是
System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,而且代码简单,
下面测试代码导入一个 6 万多条数据的 sheet,包括读取(全部读?冉下┰谖
业目⒒肪持兄恍枰?0 秒左右,而真正的导入过程只需要 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();
if (fd.ShowDialog() == DialogResult.OK)
{
TransferData(fd.FileName, "sheet1", connString);
}
}
public void TransferData(string excelFile, string sheetName,
string connectionString)
{
DataSet ds = new DataSet();
try
{
评论0
最新资源