excel导入sql2005
来源:互联网 发布:广数系统g76螺纹编程 编辑:程序博客网 时间:2024/06/01 09:38
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
{
//获取全部数据
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + excelFile + ";" + "Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
OleDbDataAdapter myCommand = null;
strExcel = string.Format("select * from [{0}$]", sheetName);
myCommand = new OleDbDataAdapter(strExcel, strConn);
myCommand.Fill(ds, sheetName);
//如果目标表不存在则创建
string strSql = string.Format("if object_id('{0}') is null create table {0}(", sheetName);
foreach (System.Data.DataColumn c in ds.Tables[0].Columns)
{
strSql += string.Format("[{0}] varchar(255),", c.ColumnName);
}
strSql = strSql.Trim(',') + ")";
using (System.Data.SqlClient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection(connectionString))
{
sqlconn.Open();
System.Data.SqlClient.SqlCommand command = sqlconn.CreateCommand();
command.CommandText = strSql;
command.ExecuteNonQuery();
sqlconn.Close();
}
//用bcp导入数据
using (System.Data.SqlClient.SqlBulkCopy bcp = new System.Data.SqlClient.SqlBulkCopy(connectionString))
{
bcp.SqlRowsCopied += new System.Data.SqlClient.SqlRowsCopiedEventHandler(bcp_SqlRowsCopied);
bcp.BatchSize = 100;//每次传输的行数
bcp.NotifyAfter = 100;//进度提示的行数
bcp.DestinationTableName = sheetName;//目标表
bcp.WriteToServer(ds.Tables[0]);
}
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
//进度显示
void bcp_SqlRowsCopied(object sender, System.Data.SqlClient.SqlRowsCopiedEventArgs e)
{
this.Text = e.RowsCopied.ToString();
this.Update();
}
}
- excel导入sql2005数据库
- excel导入到sql2005
- excel导入sql2005
- sql2005导入/导出Excel
- excel 表导入到 sql2005中的问题
- 关于excel导入sql2005里面的问题
- 实现Excel数据导入到SQL2005中的方法
- asp.net 将Excel导入到Sql2005或2000
- 实现Excel数据导入到SQL2005中的方法
- EXCEL导入SQL2005出现“文本被截断”的错误
- SQL2005和(Excel |access)之间的数据导入导出
- dbf/access/excel等数据导入到sql2005
- 实现Excel数据导入到SQL2005中的方法
- 快速地将Excel数据导入到SQL2005中的方法
- SQL2005:Excel 导入,使用sp_configure启用 'Ad Hoc Distributed Queries'
- EXCEL 导入到 SQL2005遇到的错误集
- sql2005数据库导入sql2000
- SQL2005导入存储过程
- 网上找来的 感觉对入门者很有启示 收藏一下了!
- 数据结构与算法(C#):数组和ArrayList
- Invision Power Board remote file disclosure exploit.
- 以西游记盘点2009的一些流行趋势
- JUnit学习笔记3——chapter4.探索软件测试
- excel导入sql2005
- 华为心情
- Ext.data专题九:关于scope和createDelegate()
- 启动线程时传递参数的方法
- eWebEditor suffers from a directory traversal vulnerability
- Visual C++ Tips and Tricks
- 一道java题所揭示的原理
- FREEBPX add admin exploit
- 资料网址