| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 833 人关注过本帖
标题:c#中点击button按钮导入本地硬盘的excel数据到SQL数据库
只看楼主 加入收藏
xintuhai
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2014-10-12
结帖率:33.33%
收藏
已结贴  问题点数:10 回复次数:1 
c#中点击button按钮导入本地硬盘的excel数据到SQL数据库
c#中点击button按钮导入本地硬盘的excel数据到SQL数据库
c#中点击button按钮导入本地硬盘的excel数据到SQL数据库
c#中点击button按钮导入本地硬盘的excel数据到SQL数据库
怎么实现啊?
求代码
搜索更多相关主题的帖子: SQL数据库 button excel 
2015-04-08 17:23
leonbana
Rank: 2
等 级:论坛游民
帖 子:1
专家分:10
注 册:2015-4-10
收藏
得分:10 
程序代码:
using System;
using System.Collections.Generic;
using using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using namespace ExcelToSqoServer
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //测试,将excel中的sheet1导入sqlserver
            string connString = "Data Source=localhost;Initial Catalog=master;Integrated Security=true ;User id=sa;pwd=123";


            System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog();
            if (fd.ShowDialog() == DialogResult.OK)
            {
                TransferDate(fd.FileName,"sheet1",connString);
                //return;
            }
        }
        public void TransferDate(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 = new System.Data.SqlClient.SqlCommand();
                    command.Connection = sqlconn;
                     = CommandType.Text;
                     = strSql;
                    command.ExecuteNonQuery();
                    sqlconn.Close();
                }

                using (System.Data.SqlClient.SqlBulkCopy bcp = new System.Data.SqlClient.SqlBulkCopy(connectionString)) 
                {
                    bcp.SqlRowsCopied += new System.Data.SqlClient.SqlRowsCopiedEventHandler(bcp_SqlRowCopied);
                    bcp.BatchSize = 100;
                    bcp.NotifyAfter = 100;
                    bcp.DestinationTableName = sheetName;
                    bcp.WriteToServer(ds.Tables[0]);
                }
            }
            catch(Exception e)
            {
                System.Windows.Forms.MessageBox.Show(e.Message);
            }
        }
        void bcp_SqlRowCopied(object sender,System.Data.SqlClient.SqlRowsCopiedEventArgs e)
        {
            this.Text = e.RowsCopied.ToString();
            this.Update();
        }
    }
}

这个网上不少啊

[ 本帖最后由 leonbana 于 2015-4-10 08:46 编辑 ]
2015-04-10 08:40
快速回复:c#中点击button按钮导入本地硬盘的excel数据到SQL数据库
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053377 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved