91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在asp.net中上傳Excel文件并讀取數據

發布時間:2021-05-24 16:49:19 來源:億速云 閱讀:209 作者:Leah 欄目:開發技術

這篇文章給大家介紹怎么在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位應用程序”;

ASP.NET 是什么

ASP.NET 是開源,跨平臺,高性能,輕量級的 Web 應用構建框架,常用于通過 HTML、CSS、JavaScript 以及服務器腳本來構建網頁和網站。

關于怎么在asp.net中上傳Excel文件并讀取數據就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新源县| 四子王旗| 沈丘县| 兴国县| 合川市| 合水县| 乃东县| 攀枝花市| 汝阳县| 玛纳斯县| 勐海县| 鹤岗市| 高邮市| 昌江| 凤翔县| 商丘市| 收藏| 梅州市| 翁牛特旗| 石棉县| 太白县| 酒泉市| 金坛市| 盈江县| 台北市| 彩票| 天气| 永仁县| 保康县| 宣恩县| 平邑县| 承德县| 宜兴市| 葫芦岛市| 哈尔滨市| 诸城市| 九江县| 舟山市| 甘泉县| 吴桥县| 永州市|