欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

.Net讀取Excel 返回DataTable實例代碼

 更新時間:2014年01月14日 15:27:32   作者:  
這篇文章主要介紹了.Net讀取Excel 返回DataTable實例代碼,有需要的朋友可以參考一下

復制代碼 代碼如下:

using System;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using System.Data;
using System.IO;
using System.Linq;
using System.Web;
using System.Collections;
using System.Data.OleDb;
using NuctechProject.DTO.Bll;
using System.Collections.Generic;
namespace NuctechProject.Layouts.Project
{
    public partial class IntroductionPlan : LayoutsPageBase
    {
        string url = Common.rootUrl;
        private string _strConn; //導入excel時的連接
        string pmurl = Common.proUrl;
        private UserBLL bll = new UserBLL();
        protected void Page_Load(object sender, EventArgs e)
        {
            hidProid.Value = Request.QueryString["proid"];
        }
        protected void BtnOK_Click(object sender, EventArgs e)
        {
            DataTable excelTable = null;

            SPSecurity.RunWithElevatedPrivileges(delegate
            {
                if (BaseInfoTemplateFile.HasFile)
                {
                    List<string> noInput = new List<string>();
                    string strLoginName = HttpContext.Current.User.Identity.Name; //獲取用戶名
                    string folderTemp = strLoginName.Substring(strLoginName.LastIndexOf('\\') + 1);
                    try
                    {
                        string extension = Path.GetExtension(BaseInfoTemplateFile.FileName); //獲取文件的后綴
                        if (extension != null)
                        {
                            string fileException = extension.ToLower();
                            if (fileException == ".xlsx" || fileException == ".xls")
                            {
                                #region 讀取Excel
                                string fileFolder = Server.MapPath("~/_layouts/15/images/" + folderTemp + "Upfile/");
                                if (!Directory.Exists(fileFolder)) //根目錄
                                {
                                    Directory.CreateDirectory(fileFolder); //判斷上傳目錄是否存在     自動創(chuàng)建
                                }
                                BaseInfoTemplateFile.SaveAs(Server.MapPath("~/_layouts/15/images/" + folderTemp + "Upfile/" + BaseInfoTemplateFile.FileName));
                                string strFilepathNmae = Server.MapPath("~/_layouts/15/images/" + folderTemp + "Upfile/" + BaseInfoTemplateFile.FileName);
                                string strExcel = ExcelSheetName(strFilepathNmae)[0].ToString();
                                excelTable = ExcelDataSource(strFilepathNmae, strExcel).Tables[0];
                                #endregion
                                //data是excel的數(shù)據
                                DataTable data = ExcelDataSource(strFilepathNmae, strExcel).Tables[0];
//try
                                    //{
                                if (data != null)
                                {

                                  
                                        foreach (DataRow row in data.Rows)
                                        {
                                            //讀取
                                        }

                                }
                                //}
                                //catch (Exception)
                                //{
                                //    Page.ClientScript.RegisterStartupScript(Page.ClientScript.GetType(), "myscript", "<script  type='text/javascript'>$.ligerDialog.closeWaitting();alert('Excel表列名與系統(tǒng)不符合,請檢查Excel表列名!');</script>");
                                //    return;
                                //}
                            }
                            else
                            {
                                Page.ClientScript.RegisterStartupScript(Page.ClientScript.GetType(), "myscript", "<script  type='text/javascript'>$.ligerDialog.closeWaitting();alert('您選擇的文件不是Excel格式!');</script>");
                                return;
                            }
                        }
                    }
                    finally //最終要把臨時存儲的文件刪除
                    {
                        string strFileFolder = Server.MapPath("~/_layouts/15/images/" + folderTemp + "Upfile/");
                        if (Directory.Exists(strFileFolder)) //根目錄
                        {
                            //Directory.CreateDirectory(strFileFolder);//判斷上傳目錄是否存在     自動創(chuàng)建
                            Directory.Delete(strFileFolder, true);
                        }
                        else
                        {
                            Page.ClientScript.RegisterStartupScript(Page.ClientScript.GetType(), "myscript", "<script  type='text/javascript'>ReturnPageValue();</script>");
                        }
                    }
                }
                else
                {
                    Page.ClientScript.RegisterStartupScript(Page.ClientScript.GetType(), "myscript", "<script  type='text/javascript'>$.ligerDialog.closeWaitting();alert('請選擇導入文件!');</script>");
                    return;
                }
            });
        }
        protected void BtnClose_Click(object sender, EventArgs e)
        {
            Page.ClientScript.RegisterStartupScript(Page.ClientScript.GetType(), "myscript", "<script  type='text/javascript'>ReturnPageValue();</script>");
        }
        /// <summary>
        /// 連接到Excel
        /// </summary>
        /// <param name="filepath">文件路徑</param>
        /// <param name="sheetname">sheet名字</param>
        /// <returns></returns>
        public DataSet ExcelDataSource(string filepath, string sheetname)
        {
            _strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath +
                       ";Extended Properties='Excel 12.0;HDR=YES'";
            new OleDbConnection(_strConn);
            var oada = new OleDbDataAdapter("select * from [" + sheetname + "]", _strConn);
            var ds = new DataSet();
            oada.Fill(ds);
            return ds;
        }
        /// <summary>
        /// 獲得Excel中的所有sheetname
        /// </summary>
        /// <param name="filepath">文件路徑</param>
        /// <returns></returns>
        public ArrayList ExcelSheetName(string filepath)
        {
            _strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath +
                       ";Extended Properties='Excel 12.0;HDR=YES'";
            var al = new ArrayList();
            var conn = new OleDbConnection(_strConn);
            conn.Open();
            DataTable sheetNames = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
                new object[] { null, null, null, "TABLE" });
            conn.Close();
            if (sheetNames != null)
                foreach (DataRow dr in sheetNames.Rows)
                {
                    al.Add(dr[2]);
                }
            return al;
        }
    }
}

相關文章

  • asp.net不用設置iis實現(xiàn)url重寫 類似偽靜態(tài)路由

    asp.net不用設置iis實現(xiàn)url重寫 類似偽靜態(tài)路由

    說到不用設置iis,主要是為了實現(xiàn)在虛擬主機或是拿不到iis操作限的時候,不能添加isap又想實現(xiàn)類似于靜態(tài)化的程序實現(xiàn)方式,先聲明,這里最終要實現(xiàn)的效果是,最終可以用12345.html替換show.aspx?id=12345這樣的地址訪問功能,支持任意擴展名及無擴展
    2014-01-01
  • 圖析ASP.NET Core引入gRPC服務模板

    圖析ASP.NET Core引入gRPC服務模板

    這篇文章主要介紹了圖析ASP.NET Core引入gRPC服務模板的過程,目的就是使記錄盡可能的詳細,盡可能用通俗易懂的語言來進行描述,讓大家能用起來。在asp.net core3.0中把grpc服務作為第一等公民進行支持,所以有需要的朋友可以了解下
    2019-04-04
  • 使用.Net Core編寫命令行工具(CLI)的方法

    使用.Net Core編寫命令行工具(CLI)的方法

    這篇文章主要介紹了使用.Net Core編寫命令行工具(CLI)的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • 合并兩個DataSet的數(shù)據內容的方法

    合并兩個DataSet的數(shù)據內容的方法

    合并兩個DataSet的數(shù)據內容的方法,需要的朋友可以參考一下
    2013-03-03
  • 區(qū)分ASP.NET中get方法和post方法

    區(qū)分ASP.NET中get方法和post方法

    我們都知道,get是從服務器上獲取數(shù)據,post是向服務器上傳數(shù)據。本文主要介紹ASP.NET中get方法和post方法的區(qū)別,需要的朋友可以參考下
    2015-10-10
  • WPF實現(xiàn)漸變淡入淡出的登陸窗口效果

    WPF實現(xiàn)漸變淡入淡出的登陸窗口效果

    這篇文章主要介紹了WPF實現(xiàn)漸變淡入淡出的登陸窗口效果的方法,詳細講述了該效果的實現(xiàn)原理與功能代碼,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-11-11
  • ASP.NET Core 文件響應壓縮的常見使用誤區(qū)

    ASP.NET Core 文件響應壓縮的常見使用誤區(qū)

    在微軟官方文檔中,未明確指出文件壓縮功能的使用誤區(qū)。本文將對 ASP.NET Core 文件響應壓縮的常見使用誤區(qū)做出說明。
    2021-05-05
  • 詳解可跨域的單點登錄(SSO)實現(xiàn)方案【附.net代碼】

    詳解可跨域的單點登錄(SSO)實現(xiàn)方案【附.net代碼】

    本篇文章主要介紹了可跨域的單點登錄(SSO)實現(xiàn)方案,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • .NET Core 遷移躺坑記續(xù)集之Win下莫名其妙的超時

    .NET Core 遷移躺坑記續(xù)集之Win下莫名其妙的超時

    這篇文章主要介紹了.NET Core 遷移躺坑記續(xù)集之Win下莫名其妙的超時,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • asp.net使用WebAPI和EF框架結合實現(xiàn)數(shù)據的基本操作

    asp.net使用WebAPI和EF框架結合實現(xiàn)數(shù)據的基本操作

    這篇文章介紹了asp.net使用WebAPI和EF框架結合實現(xiàn)數(shù)據基本操作的案例,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04

最新評論