web form excel导入

前台
这里写图片描述

代码


<div class="left">
<ul>
    <li>
    <asp:FileUpload ID="fuload" runat="server" />
    </li>

    <asp:Label ID="lbmsg" runat="server"></asp:Label>


   <li>
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
        Text="导入信息" />

    </li>

    <li>
    </li>
</ul>

</div>

</div>
</form>

后台代码
这里写图片描述
这里写图片描述
这里写图片描述

代码
using System;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.IO;
using System.Text;
using System.Web;
using System.Web.UI;

namespace gene
{
public partial class drexcel : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {


    }

    private DataTable xsldata()
    {
        if (fuload.FileName == "")
        {
            lbmsg.Text = "请选择文件";
            return null;
        }
        string fileExtenSion;
        fileExtenSion = Path.GetExtension(fuload.FileName);
        if (fileExtenSion.ToLower() != ".xls" && fileExtenSion.ToLower() != ".xlsx")
        {
            lbmsg.Text = "上传的文件格式不正确";
            return null;
        }
        try
        {
            string FileName = "App_Data/" + Path.GetFileName(fuload.FileName);
            if (File.Exists(Server.MapPath(FileName)))
            {
                File.Delete(Server.MapPath(FileName));
            }
            fuload.SaveAs(Server.MapPath(FileName));
            //HDR=Yes,这代表第一行是标题,不做为数据使用 ,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。系统默认的是YES  
            string connstr2003 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(FileName) + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
            string connstr2007 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath(FileName) + ";Extended Properties=\"Excel 12.0;HDR=YES\"";
            OleDbConnection conn;
            if (fileExtenSion.ToLower() == ".xls")
            {
                conn = new OleDbConnection(connstr2003);
            }
            else
            {
                conn = new OleDbConnection(connstr2007);
            }
            conn.Open();
            string sql = "select * from [Sheet1$]";
            OleDbCommand cmd = new OleDbCommand(sql, conn);
            DataTable dt = new DataTable();
            OleDbDataReader sdr = cmd.ExecuteReader();

            dt.Load(sdr);
            sdr.Close();
            conn.Close();
            //删除服务器里上传的文件  
            if (File.Exists(Server.MapPath(FileName)))
            {
                File.Delete(Server.MapPath(FileName));
            }
            return dt;
        }
        catch (Exception e)
        {
            return null;
        }
    } 

    protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {

            DataTable dt = xsldata();

            int insertcount = 0;//记录插入成功条数  


            for (int i = 0; i < dt.Columns.Count; i++)  //列数
            {

                string infoid = dt.Rows[0][i].ToString();//获取编号

                for (int j = 1; j < 16; j++)
                {
                    int baifen = Convert.ToInt32(dt.Rows[j][i].ToString());//获取每个编号下的百分比


                    string sql = "update chkitem set baifen=" + baifen + " where infoid='" + infoid + "' and itemid=" + j;


                    System.Data.DataTable dw = DB.getDataTable(sql);

                    insertcount++;
                 }


             }
            Response.Write(insertcount + "条数据导入成功!");
            //Response.Write("<script languge='javascript'>alert('信息导入成功');window.location.href='checkzi.aspx'</script>");

            //Response.End();
            //Response.Write("<script>alert('导入成功!')</script>");

        }

        catch (Exception ex)
        {

        }  
    }




}

}

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

binghe_0126

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值