<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        asp.net上傳Excel文件并讀取數據的實現方法

        來源:懂視網 責編:小采 時間:2020-11-27 22:34:38
        文檔

        asp.net上傳Excel文件并讀取數據的實現方法

        asp.net上傳Excel文件并讀取數據的實現方法:前言 本文主要給大家介紹了關于asp.net上傳Excel文件并讀取數據的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧 實現如下: 前臺代碼:使用服務端控件實現上傳 <form id=form1 runat=server> &
        推薦度:
        導讀asp.net上傳Excel文件并讀取數據的實現方法:前言 本文主要給大家介紹了關于asp.net上傳Excel文件并讀取數據的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧 實現如下: 前臺代碼:使用服務端控件實現上傳 <form id=form1 runat=server> &

        前言

        本文主要給大家介紹了關于asp.net上傳Excel文件并讀取數據的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧

        實現如下:

        前臺代碼:使用服務端控件實現上傳

         <form id="form1" runat="server">
         <div>
         <asp:FileUpload ID="ExcelFileUpload" runat="server" />
         <asp:Button ID="UploadBtn" runat="server" Text="確定上傳" OnClick="UploadBtn_Click" />
         </div>
         </form>

        服務端代碼:

        protected void UploadBtn_Click(object sender, EventArgs e)
        {
         if (ExcelFileUpload.HasFile == false)//HasFile用來檢查FileUpload是否有文件
         {
         Response.Write("<script>alert('請您選擇Excel文件')</script> ");
         return;//當無文件時,返回
         }
         string IsXls = Path.GetExtension(ExcelFileUpload.FileName).ToString().ToLower();//System.IO.Path.GetExtension獲得文件的擴展名
         if (IsXls != ".xlsx" && IsXls != ".xls")
         {
         Response.Write(ExcelFileUpload.FileName);
         Response.Write("<script>alert('只可以選擇Excel文件')</script>");
         return;//當選擇的不是Excel文件時,返回
         }
        
         string filename = ExcelFileUpload.FileName;//獲取Execle文件名 
         string savePath = Server.MapPath(("UploadExcel\\") + filename);//Server.MapPath 服務器上的指定虛擬路徑相對應的物理文件路徑
         //savePath ="D:\vsproject\Projects\exceltestweb\exceltestweb\uploadfiles\test.xls"
         //Response.Write(savePath);
         DataTable ds = new DataTable();
         ExcelFileUpload.SaveAs(savePath);//將文件保存到指定路徑
        
         DataTable dt = GetExcelDatatable(savePath);//讀取excel數據
         List<RegNumInfo> regList = ConvertDtToInfo(dt);//將datatable轉為list
         File.Delete(savePath);//刪除文件
        
         Response.Write("<script>alert('上傳文件讀取數據成功!');</script>");
        }
        /// <summary>
        /// 從excel文件中讀取數據
        /// </summary>
        /// <param name="fileUrl">實體文件的存儲路徑</param>
        /// <returns></returns>
        private static DataTable GetExcelDatatable(string fileUrl)
        {
         //支持.xls和.xlsx,即包括office2010等版本的;HDR=Yes代表第一行是標題,不是數據;
         string cmdText = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileUrl + "; Extended Properties=\"Excel 12.0;HDR=Yes\"";
         System.Data.DataTable dt = null;
         //建立連接
         OleDbConnection conn = new OleDbConnection(cmdText);
         try
         {
         //打開連接
         if (conn.State == ConnectionState.Broken || conn.State == ConnectionState.Closed)
         {
         conn.Open();
         }
        
         System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
         string strSql = "select * from [Sheet1$]"; //這里指定表明為Sheet1,如果修改過表單的名稱,請使用修改后的名稱
         OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn);
         DataSet ds = new DataSet();
         da.Fill(ds);
         dt = ds.Tables[0]; ;
         return dt;
         }
         catch (Exception exc)
         {
         throw exc;
         }
         finally
         {
         conn.Close();
         conn.Dispose();
         }
        }
        /// <summary>
        /// 將datatable轉換為list集合
        /// </summary>
        /// <param name="dt">DataTable</param>
        /// <returns></returns>
        private static List<RegNumInfo> ConvertDtToInfo(DataTable dt)
        {
         List<RegNumInfo> list = new List<RegNumInfo>();
         if (dt.Rows.Count > 0)
         {
         foreach (DataRow item in dt.Rows)
         {
         RegNumInfo info = new RegNumInfo();
         info.RegNum = item[0].ToString();
         info.Name = item[1].ToString();
         info.Period = item[2].ToString();
         info.Remark = item[3].ToString();
         list.Add(info);
         }
         }
         return list;
        }
        public class RegNumInfo
        {
         public string RegNum { get; set; }
         public string Name { get; set; }
         public string Period { get; set; }
         public string Remark { get; set; }
        }

        注意:出現“未在本地計算機上注冊“microsoft.ACE.oledb.12.0”提供程序” 的報錯的解決方案

          1、因為讀取excel文件使用的是OleDb,如果服務器沒有安裝office,需要安裝數據訪問組件(AccessDatabaseEngine);

            *適用于office2010的

            Microsoft Access Database Engine 2010 Redistributable

            https://www.microsoft.com/zh-CN/download/details.aspx?id=13255

          2、在IIS應用程序池中,設置“”啟用兼容32位應用程序”;

        解決方案具體可參考這篇文章:https://www.gxlcms.com/article/157457.htm

        總結

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        asp.net上傳Excel文件并讀取數據的實現方法

        asp.net上傳Excel文件并讀取數據的實現方法:前言 本文主要給大家介紹了關于asp.net上傳Excel文件并讀取數據的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧 實現如下: 前臺代碼:使用服務端控件實現上傳 <form id=form1 runat=server> &
        推薦度:
        標簽: 文件 上傳 數據
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲性色高清完整版在线观看| 亚洲国产另类久久久精品| 亚洲精品人成电影网| 国产精品区免费视频| 亚洲国产精华液网站w| 日韩精品无码一区二区三区免费| 亚洲AV日韩精品久久久久久久| 久久精品免费观看| 亚洲第一福利网站| 99久久免费中文字幕精品| 精品亚洲成a人片在线观看少妇| 3d动漫精品啪啪一区二区免费| 亚洲综合小说久久另类区| 日韩版码免费福利视频| 亚洲色大情网站www| 免费大片在线观看网站| 久久国产精品免费| 久久国产亚洲精品无码| 在线免费观看一级毛片| 色多多www视频在线观看免费| 亚洲综合色自拍一区| 91精品国产免费久久国语蜜臀 | 国产精品免费观看| 亚洲AV无码专区亚洲AV桃| 亚洲国产日韩成人综合天堂| 你是我的城池营垒免费观看完整版| 亚洲视频在线观看一区| 久久精品a一国产成人免费网站| 香蕉视频免费在线播放| 久久噜噜噜久久亚洲va久| 黄色片在线免费观看| 深夜a级毛片免费无码| 亚洲精品视频在线播放| 免费精品国产自产拍观看| 免费黄色电影在线观看| 亚洲色www永久网站| 亚洲啪啪综合AV一区| 国拍在线精品视频免费观看| eeuss免费天堂影院| 亚洲一区二区三区播放在线 | 看全色黄大色大片免费久久|