//把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" || type == "xlsx")
            {
                fileloads.PostedFile.SaveAs(Server.MapPath(filename));
                //fileloads.PostedFile.SaveAs(Server.MapPath(Tools.GetAppSettings("ExcelPath")) + "\\" + filename);
                murl = Server.MapPath(filename);
            }
            else
            {
                Tools.ShowMsg("导入文件格式不对!");
                //Response.Write("<script language='javascript'>alert('导入文件格式不对!');</script>");
            }
            return murl;
        }

public DataTable ImportToDataSet(string path) 
        {
            string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "Data Source=" + path + ";" + "Extended Properties='Excel 12.0;HDR=Yes;IMEX=1';";

OleDbConnection conn = new OleDbConnection(strConn);  
            try 
            {  
                DataTable dt = new DataTable();  
                if (conn.State != ConnectionState.Open)  
                    conn.Open();  
                string strExcel = "select * from [Sheet1$]";  
                OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, conn);  
                adapter.Fill(dt);  
                return dt;  
            }  
            catch (Exception ex)  
            {  
                throw new Exception(ex.Message);  
            }  
            finally 
            {  
                if (conn.State != ConnectionState.Closed)  
                    conn.Close();  
            }  
        }

protected void btnImport_Click(object sender, EventArgs e)
        {
            try
            {
                DataTable dt = ImportToDataSet(typename(selectfile));
                int j = 0;
                bool sec = true;
                
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    ShippingCharge sc = new ShippingCharge();
                    string RegionID = dt.Rows[i][1].ToString();
                    if (!RegionID.IsNullOrEmpty() && Service.GetShippingRegion(dt.Rows[i][1].ToString()) != null)
                    {
                        sc.RegionID = Service.GetShippingRegion(dt.Rows[i][1].ToString()).RegionID;
                    }

sc.Status = Convert.ToByte(dt.Rows[i][2].ToString()=="否"?0:1);

sec = Service.AddShippingCharge(sc);
                    if (sec == false)
                    {
                        j++;
                    }
                }
                
                if(j > 0)
                {
                    Tools.ShowMsg("导入文件失败,请确认文件格式再重试一次!");
                }
                else
                {
                     //关闭,删除 文件  
                    string filepath = Server.MapPath(selectfile.PostedFile.FileName);
                    if (File.Exists(filepath))
                        File.Delete(filepath);  
                    Tools.ShowMsg("导入文件成功!", "ShippingCharges_List.aspx");
                }
            }
            catch (Exception ex)
            {
                Tools.ShowMsg("导入文件失败,请确认文件格式再重试一次!");

}
        }

完整ASP.Net Excel导入的更多相关文章

  1. asp.net Excel导入&导出

    1.Excel数据导入到数据库中: //该方法实现从Excel中导出数据到DataSet中,其中filepath为Excel文件的绝对路径,sheetname为表示那个Excel表:        p ...

  2. asp.net Excel导入和导出

    1.Excel数据导入到数据库中: //该方法实现从Excel中导出数据到DataSet中,其中filepath为Excel文件的绝对路径,sheetname为表示那个Excel表:        p ...

  3. ASP.NET Excel导入到SQL Server数据库

    本文转自:http://www.cnblogs.com/lhking/archive/2009/06/08/1499002.html 提供把Excel里的数据导入到SQL Server 数据库,前提是 ...

  4. ASP.NET Excel 导入 Oracle 方法2

    先谈思路:前半部分和之前那篇日志的内容是一样的,把Excel数据导入到DataSet中,不同之处在于数据插入的方式: 本方法是拼接 INSERT INTO TABLE VALUES() 字符串,对,就 ...

  5. ASP.NET Excel导入Sql Server数据库(转)

    先看界面图 实现的基本思想: 1,先使用FileUpload控件fuload将Excel文件上传到服务器上得某一个文件夹. 2,使用OleDb将已经上传到服务器上的Excel文件读出来,这里将Exce ...

  6. JavaScript日历控件开发 C# 读取 appconfig文件配置数据库连接字符串,和配置文件 List<T>.ForEach 调用异步方法的意外 ef 增加或者更新的习惯思维 asp.net core导入excel 一个二级联动

    JavaScript日历控件开发   概述 在开篇之前,先附上日历的代码地址和演示地址,代码是本文要分析的代码,演示效果是本文要实现的效果代码地址:https://github.com/aspwebc ...

  7. ASP.NET Core导入导出Excel文件

    ASP.NET Core导入导出Excel文件 希望在ASP.NET Core中导入导出Excel文件,在网上搜了一遍,基本都是使用EPPlus插件,EPPlus挺好用,但商用需要授权,各位码友若有好 ...

  8. ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-Excel导入和导出-自定义表模导入

    系列目录 前言 上一节使用了LinqToExcel和CloseXML对Excel表进行导入和导出的简单操作,大家可以跳转到上一节查看: ASP.NET MVC5+EF6+EasyUI 后台管理系统(6 ...

  9. ASP.NET Core 导入导出Excel xlsx 文件

    ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...

随机推荐

  1. UVa 725 Division (枚举)

    题意 : 输入正整数n,按从小到大的顺序输出所有形如abcde/fghij = n的表达式,其中a-j恰好为数字0-9的一个排列(可以有前导0),2≤n≤79. 分析 : 最暴力的方法莫过于采用数组存 ...

  2. luogu P1181 数列分段Section I x

    P1181 数列分段Section I 题目描述 对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求. 输入输出 ...

  3. 157. [USACO Nov07] 奶牛跨栏(第三次考试大整理)

    157. [USACO Nov07] 奶牛跨栏 输入文件:hurdles.in   输出文件:hurdles.out   简单对比 时间限制:1 s   内存限制:128 MB 译 by CmYkRg ...

  4. docker-compose安装xxl-job

    docker能安装的docker-compose肯定就能安装,锻炼一下写yml的能力. 后面再具体写实际中的应用 [root@localhost mysql]# cat docker-compose. ...

  5. Java数据结构之二叉树的基本介绍与递归遍历

    二叉树的基本概念: 正如我们所了解的,树是有很多中形态,但是我们规定,形如每个节点最多只能有两个子节点的一种形如称为二叉树.我们将二叉树中该节点的两个子节点分别称作为:左孩子节点和右孩子节点.该节点称 ...

  6. Laravel提交POST请求报错

    提交POST请求出现如下错误: The page has expired due to inactivity Please refresh and try again 这是由于在Laravel框架中有 ...

  7. linux 汇编函数调用

    edi第一个参数 esi第二个参数 edx第三个参数 rax保存结果 C++代码如下: char* demo(char* a,int b){ static char* buf=0; if(!buf)b ...

  8. AJAX向Django后端提交POST请求

    一.ajax登录示例 二.CSRF跨站请求伪造 方式一 方式二 方式三 方式四 一.ajax登录示例 urls.py from django.conf.urls import url from dja ...

  9. PushConsumer 消费消息

    CLUSTERING 模式下,消费者会订阅 retry topic // DefaultMQPushConsumerImpl#copySubscription private void copySub ...

  10. 阶段3 1.Mybatis_04.自定义Mybatis框架基于注解开发_3 基于注解的自定义再分析

    这里只需要 一是连接数据库的 二是映射的 注解是class的方式  dom4j技术获取xml的数据,这是xml的方式获取的下面几个关键的点 注解的方式回去dao类里面的几个主要的信息 User黄色的部 ...