//把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("导入文件失败,请确认文件格式再重试一次!");

}
        }

最新文章

  1. jQuery带tab切换搜索框样式代码
  2. Python的方法解析顺序(MRO)[转]
  3. js中apply()和call()方法的使用
  4. 对C++虚函数的理解
  5. Python 之作用域和名字空间
  6. Hibernate关联映射之延迟加载
  7. NetworkComms V3 之支持TCP连接和UDP连接
  8. 一个4节点Hadoop集群的配置示例
  9. iOS 消息推送原理及实现Demo
  10. Putty终端 模拟 远程登录 虚拟机Linux
  11. codeforces 522D. Closest Equals 线段树+离线
  12. Android Animations动画使用详解
  13. poj1459 Power Network --- 最大流 EK/dinic
  14. HTTP模拟工具【C#/Winform源码】、Json绑定TreeView控件、使用了MetroModernUI、RestSharp、Dapper.Net、Newtonsoft.Json、SmartThreadPool这几个主要开源框架
  15. golang sql database drivers
  16. 集群通信组件tribes之应用程序处理入口
  17. kvm虚拟机管理基础
  18. 集群web-ui
  19. Day 16 模块和包的导入
  20. mybatis sql参考

热门文章

  1. 浙大PAT CCCC L3-001 凑零钱 ( 0/1背包 &amp;&amp; 路径记录 )
  2. 页面禁止刷新处理Js实现
  3. 解决vuex保存的数据刷新页面时清空
  4. python3.7--pycharm selenium自启360浏览器/360极速浏览器方法
  5. Mongodb分片副本集集群搭建
  6. sqli-labs(20)
  7. 密度聚类 DBSCAN
  8. Python深度学习读书笔记-3.神经网络的数据表示
  9. Python实现人脸识别
  10. 连接Access数据库