国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

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

2024-07-10 12:48:32
字體:
來源:轉載
供稿:網友

前言

本文主要給大家介紹了關于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;}            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 凤翔县| 霸州市| 江达县| 博湖县| 西昌市| 大悟县| 浦江县| 阜新| 高邮市| 达尔| 牟定县| 鄯善县| 长子县| 罗城| 米易县| 从化市| 兴国县| 淮北市| 黎城县| 鹤峰县| 龙泉市| 师宗县| 武穴市| 永善县| 盐池县| 藁城市| 秭归县| 青河县| 乌鲁木齐县| 济南市| 屯昌县| 金昌市| 延川县| 红桥区| 合水县| 罗定市| 彰化市| 鸡东县| 祁东县| 南溪县| 临猗县|