zoukankan      html  css  js  c++  java
  • ASP.NET Excel数据导入数据库

    http://www.cnblogs.com/xiaopin/archive/2011/03/31/2001199.html  原网址,这个写的特别好:    其他实现方式参考:http://blog.csdn.net/lee576/archive/2011/03/02/6217811.aspx

    protected void btnImport_Click(object sender, EventArgs e)
    {
    if (FileUpload1.HasFile == false)//HasFile用来检查FileUpload是否有指定文件
    {
    Response.Write("<script>alert('请您选择Excel文件')</script> ");
    return;//当无文件时,返回
    }
    string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名
    if (IsXls != ".xls")
    {
    Response.Write("<script>alert('只可以选择Excel文件')</script>");
    return;//当选择的不是Excel文件时,返回
    }
    string filename = FileUpload1.FileName; //获取Execle文件名 DateTime日期函数
    string savePath = Server.MapPath(("upfiles\") + filename);//Server.MapPath 获得虚拟服务器相对路径
    FileUpload1.SaveAs(savePath); //SaveAs 将上传的文件内容保存在服务器上
    DataSet ds = ExcelSqlConnection(savePath, 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
    {
    for (int i = 0; i < dr.Length; i++)
    {
    //前面除了你需要在建立一个“upfiles”的文件夹外,其他的都不用管了,你只需要通过下面的方式获取Excel的值,然后再将这些值用你的方式去插入到数据库里面
    string title = dr[i]["标题"].ToString();
    string linkurl = dr[i]["链接地址"].ToString();
    string categoryname = dr[i]["分类"].ToString();
    string customername = dr[i]["内容商"].ToString();

    //Response.Write("<script>alert('导入内容:" + ex.Message + "')</script>");
    }
    Response.Write("<script>alert('Excle表导入成功!');</script>");
    }

    }

    #region 连接Excel 读取Excel数据 并返回DataSet数据集合
    /// <summary>
    /// 连接Excel 读取Excel数据 并返回DataSet数据集合
    /// </summary>
    /// <param name="filepath">Excel服务器路径</param>
    /// <param name="tableName">Excel表名称</param>
    /// <returns></returns>
    public static System.Data.DataSet ExcelSqlConnection(string filepath, string tableName)
    {
    string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";
    OleDbConnection ExcelConn = new OleDbConnection(strCon);
    try
    {
    string strCom = string.Format("SELECT * FROM [Sheet1$]");
    ExcelConn.Open();
    OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, ExcelConn);
    DataSet ds = new DataSet();
    myCommand.Fill(ds, "[" + tableName + "$]");
    ExcelConn.Close();
    return ds;
    }
    catch
    {
    ExcelConn.Close();
    return null;
    }
    }
    #endregion

    Excel的格式如下:

    标题 链接地址 分类 内容商
    恶搞的日本女人1  http://fegnhuang.com 写真 凤凰视频
    恶搞的日本女人2  http://fegnhuang.com 写真 凤凰视频
    恶搞的日本女人3  http://fegnhuang.com 搞笑 凤凰视频
    恶搞的日本女人4  http://fegnhuang.com 搞笑 凤凰视频
    恶搞的日本女人5  http://fegnhuang.com 搞笑 芒果TV
    恶搞的日本女人6  http://fegnhuang.com 美女 芒果TV
    恶搞的日本女人7  http://fegnhuang.com 美女 芒果TV
    恶搞的日本女人8  http://fegnhuang.com 美女 芒果TV
    恶搞的日本女人9  http://fegnhuang.com 时尚 新浪视频
    恶搞的日本女人10  http://fegnhuang.com 时尚 新浪视频
  • 相关阅读:
    MFC Windows 程序设计>WinMain 简单Windows程序 命令行编译
    AT3949 [AGC022D] Shopping 题解
    CF643D Bearish Fanpages 题解
    CF643C Levels and Regions 题解
    CF241E Flights 题解
    CF671C Ultimate Weirdness of an Array 题解
    CF1592F Alice and Recoloring 题解
    GYM 102452E 题解
    CF494C Helping People 题解
    P5556 圣剑护符
  • 原文地址:https://www.cnblogs.com/lacey/p/5555646.html
Copyright © 2011-2022 走看看