Excel导入SQL数据库完整代码

万能EXCEL导入SQL程序(源代码) 软件说明: 2011-6-14 更新 :很多人说不能使用,估计是没有安装.NET FRAMEWORK2.0以上的缘故。 1、所有窗口内容要“由上至下”的填写顺序。 阶段一:是将EXCEL文档中带有连接字段的超连接进行重写入EXCEL,以便于主表与附表进行关联。由于阶段一暂时没有解决保存问题,需要手动打开该XLS文件然后另存一下。保存好文件之前不要关闭进程里的EXCEL.exe进程. 阶段二:将EXCEL中的某个工作簿导入到SQLSERVER中。 阶段三:根据阶段一、阶段二导入的数据,将符合的附加工作簿内容写入SQL附加表中。 2、导入前请了解源EXCEL文档中以下几项: 导入前准备工作:打开EXCEL文档,了解主表名、主表在EXCEL文档中是第几个工作簿、主表中带“超连接”的字段名及其是第几个字段、“超连接”内容要插入主表的第几列。 在SQLSERVER中,新建主表,附加表(尽量多的字段;要有主键;最后一个字段在阶段二的过程中导入“超连接”信息;) 3、导入主表 4、导入附加表 5、根据不同需要,简单EXCEL文档可省略阶段1、阶段3。 程序编写:晨星 邮件:pansy5@tom.com 以前能编译饿,不知道为什么现在这个代码编译不了。不过,发出源代码供大家参考一下。 以前生成好的程序在这里: http://download.youkuaiyun.com/source/2241999 立即下载

protected void studentload_Click(object sender, EventArgs e)
    {//批量添加学生信息
        SqlConnection conn = DB.dataBaseConn();//链接数据库
        conn.Open();
         try
         {
            string fileurl = typename(studentFileUpload);//调用typename方法取得excel文件路径
            DataSet ds = new DataSet();//取得数据集
            ds = xsldata(fileurl);
            int errorcount = 0;//记录错误信息条数
            int insertcount = 0;//记录插入成功条数
            int updatecount = 0;//记录更新信息条数
             for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                string stuid = ds.Tables[0].Rows[i][0].ToString();
                string stuname = ds.Tables[0].Rows[i][1].ToString();
                string stusex = ds.Tables[0].Rows[i][2].ToString();
                string zhuanye = ds.Tables[0].Rows[i][3].ToString();
                string classname = ds.Tables[0].Rows[i][4].ToString();
                if (stuid != "" && stuname != "" && stusex != "" && zhuanye != "" && classname != "")
                {
                                  SqlCommand selectcmd = new SqlCommand("select count(*) from zy_class  where zhuanye='" + zhuanye + "'and classname='" + classname + "'", conn);
                    int count = Convert.ToInt32(selectcmd.ExecuteScalar());
                    if (count > 0)
                    {
                        SqlCommand selectcmd2 = new SqlCommand("select count(*) from stud where  stuid='" + stuid + "'", conn);
                        int count2 = Convert.ToInt32(selectcmd2.ExecuteScalar());
                        if (count2 > 0)
                        {
                            SqlCommand updatecmd = new SqlCommand("update stud set  stuname='" + stuname + "',stusex='" + stusex + "',zhuanye='" + zhuanyei + "',classname='" + classname + "'  where stuid='" + stuid + "'", conn);
                            updatecmd.ExecuteNonQuery();
                            updatecount++;
                        }
                        else
                        {
                            SqlCommand insertcmd= new SqlCommand("insert into stud   values('" + stuid + "','" + stuname + "','" + stusex + "','" + zhuanye + "','" + classname+ "')", conn);
                            insertcmd.ExecuteNonQuery();
                            insertcount++;
                        }
                    }
                    else
                    {
                        Response.Write("<script language='javascript'>alert('专业或班级信息有错!导入失败!请检查!');</script>");
                        break;  

                     }
                }
                else
                {
                    errorcount++;
                }
            }
            Response.Write("<script language='javascript'>alert('" + insertcount + "条数据导入成功!" + updatecount + "条数据更新成功!" + errorcount + "条数据部分信息为空没有导入!');</script>");
        }
        catch (Exception e)
        {
            Response.Write("<script language='javascript'>alert('导入失败!');</script>");
        }
        finally
        {
            conn.Close();
        }   
    }

 

 

//把EXCEL文件上传到服务器并返回文件路径

private String typename(FileUpload fileloads)
    {
        string fullfilename = fileloads.PostedFile.FileName;
        string filename = fullfilename.Substring(fullfilename.LastIndexOf("//") + 1);
        string type = fullfilename.Substring(fullfilename.LastIndexOf(".") + 1);
        string murl = "";
        if (type == "xls")
        {
            fileloads.PostedFile.SaveAs(Server.MapPath("excel") + "//" + filename);
            murl = (Server.MapPath("excel") + "//" + filename).ToString();
        }
        else
        {
            Response.Write("<script language='javascript'>alert('导入文件格式不对!');</script>");

        }
        return murl;
    }

  //

把excel数据读入dataset返回l数据集

 private DataSet xsldata(string filepath)
    {
        string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;IMEX=1'";
        System.Data.OleDb.OleDbConnection Conn = new System.Data.OleDb.OleDbConnection(strCon);
        string strCom = "SELECT * FROM [Sheet1$]";
        Conn.Open();
        System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strCom, Conn);
        DataSet ds = new DataSet();
        myCommand.Fill(ds, "[Sheet1$]");
        Conn.Close();
        return ds;
    } 

 

 

Excel导入SQLServer数据库工具(含源码) 使用Asp.Net开发,用于导入Excel文件到SQLServer,支持配置导入字段。支持主键为Int的外键。 两种方式:1、先导入Excel再配置对应关系 2、先配置对应关系在导入 立即下载

相关推荐

SHP转TXT、TXT转SHP工具(附工具下载链接)

关于TXT,可以选择整个图层生成一个TXT。也可以勾选“每个地块单独存TXT”,然后选择一个字段,根据字段值,给每个地块生成一个TXT文件。支持选择和数据框一样的坐标系,也可以选择一个图层,工具会采用和这个图层一样的坐标系。1、TXT数据支持输入单个或者多个TXT文件,也可以直接选择TXT所在的文件夹。所有的TXT数据都生成到一个矢量数据图层。关于这一行的内容,可以在地块坐标行设置中进行设置。其他:①面节点闭合:勾选,则回到起点。属性描述:可以直接复制粘贴进来,也可以直接修改。也可以改为任意字母。

坐听风雨 4301

关于Excel拼接sql语句,批量导入数据

需求: 当我们需要把Excel中的数据(成百上千、成千上万条…)全部导入到数据库中,一条条写sql语句明显不理智,于是我们可以使用excel函数拼接sql语句,然后往下拉的方式自动拼接所有sql,批量复制到oracle编辑器; 解决步骤: 1、像下面这种简单的需求,不需要转化的,可以直接拼接insert语句; 1.1 直接在相应的空栏下面写sql,然后拖出“十字形”往下拉,让他自动赋值; 1.2:最后把得到的这一列sql全部粘贴到sql编辑器; 2、像有些复杂些的sql,就需要用到=CONCATENAT

z19950712的博客 9590

基于JAVA的GB28181实现之SIP服务核心组件解析

本文深入解析了基于JAVA的GB28181标准中SIP服务的核心组件实现,包括协议栈选择、消息处理引擎、事务管理器等关键技术点。通过实战案例分享海康威视、大华设备的特殊处理技巧,并提供性能优化和常见问题排查指南,帮助开发者高效构建稳定的视频监控系统。

weixin_30892037的博客 264

excel快速生成导入sql,批量更新update数据库

记一次excel的数据更新到数据库表的操作 背景: 因为是生产环境,运营害怕更新了其他数据,所以只能根据他提供的excel数据进行更新,所以有了下面的记录 一、excel数据导入mysql数据库可以有很多种 写python脚本 写shell脚本 直接用excel生成sql,在navicat中执行 由于本人对python和shell不熟,不想费这么大劲进行学习,所以选择了用excel直接生成sql 二、用excel方法进行导入数据的步骤 1、创建临时表 table_tmp 法一: 使用navicat直

qq_41831724的博客 5912

Bladed风电仿真软件新手必看:从界面操作到功率曲线计算的完整指南

本文为风电工程师提供Bladed仿真软件的完整入门指南,涵盖界面操作、功率曲线计算及动态仿真等核心功能。通过实战技巧和常见问题解决方案,帮助新手快速掌握这款全球领先的风电机组仿真工具,提升风电项目开发效率。

weixin_30839881的博客 102

Kaggle时间序列竞赛金牌方案解析与实战指南

本文深度解析了Kaggle时间序列竞赛的金牌方案,揭示了其成功不仅依赖先进模型,更在于系统工程思维。文章系统阐述了从数据理解、特征工程到模型集成与后处理的全流程,并重点剖析了分层建模、自定义损失函数、时序交叉验证等核心技巧,为参赛者提供了从理论到实战的完整指南。

weixin_29196315的博客 356

将Excel文件数据导入数据到SQL数据库中

存储过程/*将Excel文件数据导入数据到SQL数据库中导出的表存在则直接插入数据,如果不存在则创建表*/CREATE PROCEDURE dbo.ImportExcel--declare@path nvarchar(1000),       --文件存放目录@fname nvarchar(250),      --文件名@sheetname varchar(250),     --要导入的工

largepear的专栏 680

802.1x之EAP-TLS测试方法

CA证书一般是由权威的认证机构发出,用来验证该机构签名的证书,持有CA证书的设备可以验证对端的证书是否由自己信任的机构颁发的。在我们内部使用证书时,我没可以自己充当CA认证机构,管理私钥和CA证书,使用他们签名服务器、客户端证书。2、使用证书请求文件server_csr.pem、CA私钥、CA公钥生成服务器证书(正常情况下自己不拥有CA私钥,是把证书请求文件发给认证机构,由认证机构返回证书)进行802.1x EAP-TLS认证时需要IPC、服务器分别存储CA证书、设备证书、私钥,通过交换证书实现身份验证。

写作是为了更好的思考 2164

【Excel使用技巧】Excel数据导入sql

Excel使用小技巧+sql数据导入

weixin_43856199的博客 896

Altium Designer应用技巧13: 四层板的拼版方法

本文介绍在Altium Designer中,进行4层板的拼版方法。Altium Designer有多种拼版方法,本文选择最直观的复制、删帖方法来完成,步骤如下: 1、看一下原始文件,如下图所示,我们要对该板进行拼版操作。 2、通过菜单“报告”-“板子信息”得到板子大小,在这里一般切换为mm比较好操作,我们可以使用快捷键"q"。 3、如果是水平拼版,我们需要关心水平长度;如果是垂直拼版...

snmplink的博客 1万+

dolphinscheduler-3.4.0

dolphinscheduler集群部署

docsz的博客 660

将Excel数据导入SQL数据库

功能自动导入 先在想导入数据的数据库中建立新表,因为导入只能针对已存在的表。右键想要导入数据的数据库,如图选择。 (选择Excel之后在file name选择文件) (本步骤假设你有DB Manager权限) (这里只能选已存在的表) (可以手动更改日志的位置,但是每次都要更改。日志的写入方式是添加) (点这里直接就能打开日志) 下一步后即可完成。这样一来就完成了数据的导入。 但是这样做能导入的数据有局限性。比如表头必须在第一行,其余的数据和数据表的格式相同,不能有单元格合并

HouraisanF的博客 2080

Captcha must be filled out,解决Kaggle新用户注册无法弹出验证提示的问题

Captcha must be filled out

weixin_46713695的博客 5万+

excel导入mysql数据库代码_Excel导入SQL数据库完整代码

Excel导入SQL数据库完整代码(2009-08-05 10:48:14)转载标签:sql数据库ifitprotected void studentload_Click(object sender, EventArgs e){//批量添加学生信息SqlConnection conn = DB.dataBaseConn();//链接数据库conn.Open();try{string fileurl...

weixin_42515687的博客 300

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

excel导入mysql代码_转:Excel导入SQL数据库完整代码

Excel导入SQL数据库完整代码2 protected void studentload_Click(objectsender, EventArgs e)3 {//批量添加学生信息4 SqlConnection conn = DB.dataBaseConn();//链接数据库5conn.Open();6 try7{8 st...

weixin_34020067的博客 329

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Excel导入到sql数据库中完整代码

  Excel导入SQL数据库完整代码 2009年4月29日9:41:20 Excel导入SQL数据库完整代码 protected void studentload_Click(object sender, EventArgs e)    ...

weixin_33948416的博客 154
上一篇: javascript小技巧
下一篇: 页面打印
stonewenxin
博客等级 码龄20年 5粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值