文档章节

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

深圳大道
 深圳大道
发布于 2016/12/29 15:32
字数 538
阅读 1
收藏 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.5K
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
193
0
【经典C#.NET入门教程】管理软件开发必备知识免费视频教程下载

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

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

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

Miss_Hello_World
2015/08/13
50
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部