主頁 > 知識庫 > .Net讀取Excel 返回DataTable實(shí)例代碼

.Net讀取Excel 返回DataTable實(shí)例代碼

熱門標(biāo)簽:云狐人工智能電話機(jī)器人 400電話辦理信任翰諾科技 廣州銷售外呼系統(tǒng)定制 福州人工智能電銷機(jī)器人加盟 地圖標(biāo)注多少錢一張 ai電銷機(jī)器人對貸款有幫助嗎 怎樣給陜西地圖標(biāo)注顏色 電銷機(jī)器人 數(shù)據(jù) 宿遷智能外呼系統(tǒng)排名

復(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)
                {
                    Liststring> noInput = new Liststring>();
                    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;
        }
    }
}

您可能感興趣的文章:
  • asp.net 讀取Excel數(shù)據(jù)到DataTable的代碼

標(biāo)簽:延安 大興安嶺 焦作 宜春 綿陽 黃南 曲靖 新疆

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《.Net讀取Excel 返回DataTable實(shí)例代碼》,本文關(guān)鍵詞  .Net,讀取,Excel,返回,DataTable,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《.Net讀取Excel 返回DataTable實(shí)例代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于.Net讀取Excel 返回DataTable實(shí)例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章