最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

復(fù)制代碼 代碼如下:

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; //導(dǎo)入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ù)據(jù)
                                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('請選擇導(dǎo)入文件!');</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;
        }
    }
}

相關(guān)文章

  • .NET 6開發(fā)TodoList應(yīng)用之使用AutoMapper實現(xiàn)GET請求

    .NET 6開發(fā)TodoList應(yīng)用之使用AutoMapper實現(xiàn)GET請求

    我們希望接受的請求和返回的值具有以下兩點需要遵循的原則:每個model被且只被一個API消費;每個model里僅僅包含API發(fā)起方希望包含的必要字段或?qū)傩浴utoMapper庫就是為了實現(xiàn)這個需求而存在的。本文將為大家介紹AutoMapper如何實現(xiàn)GET請求,需要的可以參考一下
    2021-12-12
  • ASP.NET中 Swagger添加JWT驗證的流程

    ASP.NET中 Swagger添加JWT驗證的流程

    主服務(wù)系統(tǒng)收到請求后會從headers中獲取“令牌”,并從“令牌”中解析出該用戶的身份權(quán)限,然后做出相應(yīng)的處理,這一系列操作都是JWT解析,下面小編給大家詳細介紹ASP.NET中 Swagger添加JWT驗證的方法,感興趣的朋友一起看看吧
    2024-04-04
  • .Net?Core日志記錄之第三方框架Serilog

    .Net?Core日志記錄之第三方框架Serilog

    這篇文章介紹了.Net?Core日志記錄之第三方框架Serilog,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • asp.net+jquery Jsonp使用方法

    asp.net+jquery Jsonp使用方法

    Jsonp的用法非常簡單,不過需要服務(wù)器端和客戶端同時支持。
    2010-04-04
  • ASP.NET 頁面中動態(tài)增加的控件、添加事件

    ASP.NET 頁面中動態(tài)增加的控件、添加事件

    在ASP.NET中動態(tài)創(chuàng)建一個控件總是不那么順利,特別是當(dāng)對頁面的Life Cycle不是那么了然的情況下!這里簡單描述一下要求,然后提供一個解決方案,大家看看有沒有更好的Idea,如果有的話就是我的大幸了,呵呵!
    2009-07-07
  • 詳解IdentityServer4介紹和使用

    詳解IdentityServer4介紹和使用

    在.NETCORE中更傾向于使用Identityserver4組件來構(gòu)建認證授權(quán)服務(wù),原因是IdentityServer4?是為ASP.NET?Core系列量身打造的一款基于?OpenID?Connect?和?OAuth?2.0?認證框架,本文重點介紹IDS4實際使用過程中涉及到的技術(shù)點,感興趣的朋友一起看看吧
    2022-07-07
  • asp.net的cms 原理篇

    asp.net的cms 原理篇

    昨晚稍微寫了一點,我訂制的cms系統(tǒng)的標簽,今天我把標簽所代替的代碼也寫出來,需要的朋友可以參考下
    2012-12-12
  • Datalist控件使用存儲過程來分頁實現(xiàn)代碼

    Datalist控件使用存儲過程來分頁實現(xiàn)代碼

    .net使用過程中,數(shù)據(jù)多的時候需要分頁,本文將介紹如何使用存儲過程來分頁,需要的朋友可以了解下
    2012-12-12
  • .net 通過URL推送POST數(shù)據(jù)具體實現(xiàn)

    .net 通過URL推送POST數(shù)據(jù)具體實現(xiàn)

    這篇文章主要介紹了.net 通過URL推送POST數(shù)據(jù)具體實現(xiàn),有需要的朋友可以參考一下
    2013-12-12
  • .NET垃圾回收GC診斷工具dotnet-gcmon使用

    .NET垃圾回收GC診斷工具dotnet-gcmon使用

    這篇文章主要介紹了.NET垃圾回收GC診斷工具dotnet-gcmon使用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-11-11

最新評論

温宿县| 涞源县| 大连市| 调兵山市| 吴忠市| 道真| 安远县| 宁陵县| 临夏县| 通江县| 蒙阴县| 舞钢市| 宁阳县| 班玛县| 铁岭县| 宣汉县| 衡阳县| 鄢陵县| 温宿县| 无为县| 扎兰屯市| 府谷县| 光山县| 星子县| 湖南省| 建阳市| 武汉市| 泗阳县| 昌吉市| 迭部县| 云南省| 河曲县| 康保县| 新绛县| 台中市| 美姑县| 个旧市| 大宁县| 中牟县| 江达县| 湟中县|