//把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. 洛谷 P1140 相似基因 ( 线性DP || 类LCS )

    题意 : 题目链接 分析 :  可以观察到给出的配对代价表中对角线部分是正数 其余的都是负数,也就是说让相同字母的匹配的越多越好 即找出 LCS 但是这里 DP 的过程需要记录一下代价 有关 LCS ...

  2. Debian Buster升级后找不到声卡

    昨天将Debian从Stretch升级到了新版巴斯光年(Buster).仍旧是先将source.list中的stretch替换为buster,再执行apt-get的update.upgrade.dis ...

  3. 【BZOJ5249】IIIDX(贪心,线段树)

    题意: 思路:赛季结束之前余总推荐的一道好题,不愧是余总 From https://www.cnblogs.com/suika/p/8748115.html 简略的说就是在预留足够多的位置的前提下贪心 ...

  4. 消息 15135,级别 16,状态 8,过程 sp_addextendedproperty,对象无效。不允许有扩展属性,或对象不存在。

    不知道网上为啥有那么多复制粘贴的文章,写点原创不好吗?堂而皇之的贴别人的文章有意思吗? 消息 15135,级别 16,状态 8,过程 sp_addextendedproperty,对象无效.不允许有扩 ...

  5. Windows操作系统Apache服务器下配置PHP

    在Apache web服务器上发布PHP项目之前,需要进行相应的配置,服务器才能解析php文本,正常显示php动态页面内容.在进行php配置之前默认已经在Windows系统下安装好了Apache服务器 ...

  6. es之主分片和复制分片的交互过程

    1:索引(创建或者删除)一个文档 首先:发送一个索引或者删除的请求给node1 其次:node1接收到请求之后,会根据请求中携带的参数“文档id”判断出该文档应该存储在具体哪一个shard中 shar ...

  7. Module——模块加载语法

    简介:标准module用法: 模块功能主要由两个命令构成:export和import. export有三种写法: // profile.js // 写法一 export var m = 1; // 写 ...

  8. 关闭layer.open打开的页面

    window.parent.location.reload(); //刷新父页面 var index = parent.layer.getFrameIndex(window.name); //获取窗口 ...

  9. 【后台管理系统】—— Ant Design Pro结合插件(一)

    一.富文本braft-editor 安装并引用 npm install braft-editor --save import BraftEditor from 'braft-editor' impor ...

  10. Java ——异常处理

    本节重点思维导图 详细戳——> 异常处理