文档章节

asp.net(C#) 上传Execl文件 并插入数据到数据库实例

深圳大道
 深圳大道
发布于 2016/12/29 15:37
字数 538
阅读 5
收藏 0
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
using System.Data.SqlClient;

public partial class InserPosAll : System.Web.UI.Page
{
    public DataSet ExecleDs(string filenameurl, string table)
    {
        string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
        OleDbConnection conn = new OleDbConnection(strConn);
        OleDbDataAdapter odda = new OleDbDataAdapter("select * from [sheet1$]", conn);
        DataSet ds = new DataSet();
        odda.Fill(ds, table);
        return ds;
    }

    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile == false)
        {
            Response.Write("<script>alert('请您选择Excel文件')</script> ");
            return;//当无文件时,返回       
        }
        //string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();
        //if (IsXls != ".xls")
        //{
        //    Response.Write("<script>alert('只可以选择Excel文件')</script>");
        //    return;//当选择的不是Excel文件时,返回       
        //}
        String serverPath = Server.MapPath("~/") + FileUpload1.FileName;
        FileUpload1.SaveAs(serverPath);
        string error = null;

        SqlConnection conn = new SqlConnection("data source=10.47.0.7;database=pos_inquire;user=sa;password=19730524");
        conn.Open();
        string Sqlstrl = " Truncate table pos_all";
        SqlCommand comd = new SqlCommand(Sqlstrl, conn);
        comd.ExecuteNonQuery();

        //string strpath = FileUpload1.PostedFile.FileName.ToString();   //获取Execle文件路径       
        string filename = FileUpload1.FileName;                       //获取Execle文件名         
        //DataSet ds = conn.ExecleDs(strpath,filename);
        DataSet ds = ExecleDs(serverPath, filename);
        DataRow[] dr = ds.Tables[0].Select();                        //定义一个DataRow数组       
        int rowsnum = ds.Tables[0].Rows.Count;
        if (rowsnum == 0)
        {
            Response.Write("<script>alert('Excel表为空表,无数据!')</script>");   //当Excel表为空时,对用户进行提示      
        }
        else
        {

            string 商户编号;
            string 装机日期;
            string 手续费率;
            string 商户名;
            string 主办行;
            string 经办人;
            string 装机方;
            string 开户行;
            string 有效性;
            string 装机台数;
            string POS类型;

            for (int i = 0; i < dr.Length; i++)
            {
                商户编号 = dr[i][0].ToString();              //string dh = dr[i]["YongHuMiMa"].ToString();        
                装机日期 = dr[i][1].ToString();
                手续费率 = dr[i][2].ToString();
                商户名 = dr[i][3].ToString();
                主办行 = dr[i][4].ToString();
                经办人 = dr[i][5].ToString();
                装机方 = dr[i][6].ToString();
                开户行 = dr[i][7].ToString();
                有效性 = dr[i][8].ToString();
                装机台数 = dr[i][9].ToString();
                POS类型 = dr[i][10].ToString();

                string insertstr = "insert into pos_all(商户编号,装机日期,手续费率,商户名,主办行,经办人,装机方,开户行,有效性,装机台数,POS类型) values('" + 商户编号 + "','" + 装机日期 + "','" + 手续费率 + "','" + 商户名 + "','" + 主办行 + "','" + 经办人 + "','" + 装机方 + "','" + 开户行 + "','" + 有效性 + "','" + 装机台数 + "','" + POS类型 + "')";
                SqlCommand cmd = new SqlCommand(insertstr, conn);
                try
                {
                    cmd.ExecuteNonQuery();
                }
                catch (MembershipCreateUserException ex) //捕捉异常                    
                {
                    Response.Write("<script>alert('创建用户:" + ex.Message + "')</script>");
                }
            }
            Response.Write("<script>alert('Excle表导入成功!')</script>");
            System.IO.File.Delete(serverPath);
            Response.Redirect("List_Posall.aspx");
            
        }
        conn.Close();
    }
    
}

本文转载自:http://blog.csdn.net/smartsmile2012/article/details/8166125

共有 人打赏支持
深圳大道
粉丝 3
博文 877
码字总数 0
作品 0
深圳
架构师
私信 提问
一句话木马使用方法总结

“EASYNEWS新闻管理系统 v1.01 正式版”是在企业网站中非常常见的一套整站模版,在该网站系统的留言本组件中就存在着数据过滤不严漏洞,如果网站是默认路径和默认文件名安装的话,入侵者可以...

luckey
2009/09/16
2.3K
0
分享33本关于.net方面的学习书籍(免费下载)

分享33本关于.net方面的学习书籍(免费下载) 1、程序员大本营.Net版(中文文档) 2、NHibernate2.0中文文档 3、C#+WinForm视频播放器(AxWindowsMediaPlayer) 4、C#+简单视频播放器 5、ASP.NET...

邓剑彬
2012/12/02
1K
2
在ASP.NET页面中实现数据棒图

作者:阿虎 来自:yesky 棒图有时又称为"Bar"图。在我的上一篇文章《在ASP.NET实现数据图表》中已经介绍了在浏览器看到的图表,一般都是图片文件。那么在ASP.NET中是否也可以生成这些图表?答...

晨曦之光
2012/03/09
189
0
【经典C#.NET入门教程】管理软件开发必备知识免费视频教程下载

走火入魔通用权限管理视频讲解(娱乐大家、给生活加点儿料、突破思想框框),第三次录视频希望大家能谅解、都上传好了,给大家分享一下,不足之处请大家指点。 干事情需要要有激情,有力度,要...

sunplay
2011/06/04
0
0
DevExpress v15.1:ASP.NET WebForms功能增强(三)

下载最新版DevExpress ASP.NET Controls v15.1.5 ASP.NET HTML Editor 占位符(邮件合并) 占位符允许最终用户创建文本模板,这些占位符可以被替换为所需的值(从数据库)。 标签检查器(文档...

Miss_Hello_World
2015/08/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊ShenandoahGC的Brooks Pointers

序 本文主要研究一下ShenandoahGC的Brooks Pointers Shenandoah Shenandoah面向low-pause-time的垃圾收集器,它的GC cycle主要有 Snapshot-at-the-beginning concurrent mark包括Init Mark(P......

go4it
昨天
0
0
Makefile通用编写规则

#简单实用的Makefile模板: objs := a.o b.o test:$(objs) gcc -o test $^ # .a.o.d .b.o.d dep_files := $(foreach f,$(objs),.$(f).d) dep_files := $(wildcard $(dep_files)) ifneq ($(d......

shzwork
昨天
0
0
《万历十五年》的读后感作文4000字

《万历十五年》的读后感作文4000字: 万历十五年,即1587年,距今已过去432年。在明朝276的历史中,这一年很平淡,并没有什么特别之处。黄仁宇的《万历十五年》一书,有别于其他的历史叙述方...

原创小博客
昨天
0
0
vue组件系列4、Table封装下

知道了slot 怎么用,才可以理解table这样封装的原因 table插件部分 <template> <div> <!-- 关键字部分 --> <div class="pre_search" v-show="show_key"> <label>关键字:......

轻轻的往前走
昨天
0
0
laravel嵌套预加载限制字段

之前有写过laravel关联查询的坑,后经一位博友提醒可以简写,详见https://my.oschina.net/u/3470006/blog/3020215 自己实践了下果然如此,要查询user表和与之关联的信息表userinfo直接可以用...

gcudwork
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部