亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

ASP.NET實現上傳Excel功能

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

這幾天正好用到上傳Excel,并根據Excel中的數據做相應的處理,故整理以備用。

用到的資源:

(1)NOPI 2.2.0.0 可自己官網下載,也可點擊:http://pan.baidu.com/s/1b1EMdg

(2)用到一些常見處理文件的公共方法類,可以添加到項目中:http://pan.baidu.com/s/1bJpHuQ

如過上述連接因故無法使用,可在評論留下郵箱,我打包發送過去,如有更好的建議,歡迎指導。

后臺的提示方法ShowMsgHelper,根據自己的改寫即可。

前臺代碼:

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>導入EXCEL,生成DataTable</title> <script src="../../Themes/scripts/jquery-1.8.2.min.js"></script> <link href="/Themes/Styles/Site.css" rel="external nofollow" rel="stylesheet" type="text/css" /> <script src="/Themes/scripts/FunctionJS.js" type="text/javascript"></script>  <script type="text/javascript"> $(document).ready(function () {  $("#Import").click(function () {  var filename = $("#FileUpload1").val();  if (filename == '') {   alert('請選擇上傳的EXCEL文件');   return false;  }  else {   var exec = (/[.]/.exec(filename)) ? /[^.]+$/.exec(filename.toLowerCase()) : '';   if (!(exec == "xlsx" || exec == "xls")) {   alert("文件格式不對,請上傳Excel文件!");   return false;   }  }  return true;  }); }); </script></head><body> <form id="form1" runat="server"> <div> <asp:FileUpload ID="FileUpload1" runat="server" /><asp:Button ID="Import" runat="server" Text="導入" OnClick="ImpClick" /> </div> </form></body></html>

后臺代碼;

protected void ImpClick(object sender, EventArgs e) {  try  {  #region 校驗  var fileName = this.FileUpload1.FileName;  if (string.IsNullOrWhiteSpace(fileName))  {   //提示信息   ShowMsgHelper.Alert("請選擇上傳Excel文件");   return;  }  //獲取上傳文件擴展名稱  if (!(fileName.IndexOf(".xlsx") > 0 || fileName.IndexOf(".xls") > 0))  {   ShowMsgHelper.Alert("上傳文件格式不正確,請核對!");   return;  }  #endregion  #region 將Excel文件上傳到服務器上臨時文件夾中  //臨時文件夾,根目錄下/Upload/tmp/,根據自己配置選擇  string path = Server.MapPath("~/") + "Upload//tmp//";  string retStr=UploadHelper.FileUpload(path, this.FileUpload1);  if (!retStr.Equals("上傳成功")) {   ShowMsgHelper.Alert(retStr);   return;  }  #endregion  #region 讀取Excel文件第一個表獲取內容并轉換成DataTable,刪除臨時文件,也可以自己加時間戳,維護處理  DataTable dt = this.ExcelToDataTable(path + this.FileUpload1.FileName, true);  if (dt == null) {   ShowMsgHelper.Alert_Error("獲取失敗");   return;  }  //示例:獲取dt中的值  string test = dt.Rows[0]["name"].ToString();  string test2 = dt.Rows[1]["class"].ToString();  //刪除臨時文件  DirFileHelper.DeleteFile("Upload//tmp//" + fileName);  #endregion   }  catch (Exception ex) {  throw ex;  } } /// <summary> /// 將excel導入到datatable /// </summary> /// <param name="filePath">excel路徑</param> /// <param name="isColumnName">第一行是否是列名</param> /// <returns>返回datatable</returns> public DataTable ExcelToDataTable(string filePath, bool isColumnName) {  DataTable dataTable = null;  FileStream fs = null;  DataColumn column = null;  DataRow dataRow = null;  IWorkbook workbook = null;  ISheet sheet = null;  IRow row = null;  ICell cell = null;  int startRow = 0;  try  {  using (fs = File.OpenRead(filePath))  {   // 2007版本   if (filePath.IndexOf(".xlsx") > 0)   workbook = new XSSFWorkbook(fs);   // 2003版本   else if (filePath.IndexOf(".xls") > 0)   workbook = new HSSFWorkbook(fs);   if (workbook != null)   {   sheet = workbook.GetSheetAt(0);//讀取第一個sheet,當然也可以循環讀取每個sheet   dataTable = new DataTable();   if (sheet != null)   {    int rowCount = sheet.LastRowNum;//總行數    if (rowCount > 0)    {    IRow firstRow = sheet.GetRow(0);//第一行    int cellCount = firstRow.LastCellNum;//列數    //構建datatable的列    if (isColumnName)    {     startRow = 1;//如果第一行是列名,則從第二行開始讀取     for (int i = firstRow.FirstCellNum; i < cellCount; ++i)     {     cell = firstRow.GetCell(i);     if (cell != null)     {      if (cell.StringCellValue != null)      {      column = new DataColumn(cell.StringCellValue);      dataTable.Columns.Add(column);      }     }     }    }    else    {     for (int i = firstRow.FirstCellNum; i < cellCount; ++i)     {     column = new DataColumn("column" + (i + 1));     dataTable.Columns.Add(column);     }    }    //填充行    for (int i = startRow; i <= rowCount; ++i)    {     row = sheet.GetRow(i);     if (row == null) continue;     dataRow = dataTable.NewRow();     for (int j = row.FirstCellNum; j < cellCount; ++j)     {     cell = row.GetCell(j);     if (cell == null)     {      dataRow[j] = "";     }     else     {      //CellType(Unknown = -1,Numeric = 0,String = 1,Formula = 2,Blank = 3,Boolean = 4,Error = 5,)      switch (cell.CellType)      {      case CellType.Blank:       dataRow[j] = "";       break;      case CellType.Numeric:       short format = cell.CellStyle.DataFormat;       //對時間格式(2015.12.5、2015/12/5、2015-12-5等)的處理       if (format == 14 || format == 31 || format == 57 || format == 58)dataRow[j] = cell.DateCellValue;else       dataRow[j] = cell.NumericCellValue;break;      case CellType.String:dataRow[j] = cell.StringCellValue;break;      }     }     }     dataTable.Rows.Add(dataRow);    }    }   }   }  }  return dataTable;  }  catch (Exception)  {  if (fs != null)  {   fs.Close();  }  return null;  } }

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持VeVb武林網!


注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美黑人狂野猛交老妇| 久久成年人视频| 国产精品视频一区二区高潮| 国产在线观看精品一区二区三区| 亚洲一区二区三区四区视频| 国产精品色婷婷视频| 亚洲精品美女在线观看播放| 亚洲xxxx妇黄裸体| 成人a视频在线观看| 国产亚洲欧洲黄色| 亚洲无亚洲人成网站77777| 精品少妇v888av| 成人免费大片黄在线播放| 中文字幕视频一区二区在线有码| 亚洲国产婷婷香蕉久久久久久| 亚洲欧洲国产精品| 欧美视频在线观看免费| 操日韩av在线电影| 色综合久久88色综合天天看泰| 精品国产一区二区三区四区在线观看| 久久久久久午夜| 亚洲已满18点击进入在线看片| 欧美一区二区大胆人体摄影专业网站| 久久精品国产久精国产一老狼| 国产亚洲在线播放| 久久久久久久999精品视频| 欧美亚洲第一区| 欧美午夜片欧美片在线观看| 久久久久久国产精品三级玉女聊斋| 丁香五六月婷婷久久激情| 国内精品久久久久久中文字幕| 久久免费视频在线| 亚洲国产欧美一区二区丝袜黑人| 中文字幕亚洲第一| 亚洲人成欧美中文字幕| 欧美激情小视频| 亚洲日本中文字幕| 日韩在线欧美在线国产在线| 国产丝袜一区二区三区| 亚洲男人的天堂在线播放| 最新国产成人av网站网址麻豆| 一区二区三区回区在观看免费视频| 国产三级精品网站| 久久精品国产清自在天天线| 国产午夜精品视频| 91九色精品视频| 在线看福利67194| 国产精品尤物福利片在线观看| 亚洲黄色在线看| 日韩高清免费在线| 日韩免费观看高清| 欧美一级高清免费| 九九热视频这里只有精品| 亚洲最大成人在线| 亚洲一区二区三区视频播放| 国产欧美日韩精品丝袜高跟鞋| 国产欧美亚洲精品| 欧美华人在线视频| 精品久久香蕉国产线看观看gif| 夜夜嗨av色综合久久久综合网| 中文字幕欧美精品日韩中文字幕| www.日韩免费| 91精品久久久久久久久久久久久| 欧美大全免费观看电视剧大泉洋| 亚洲精品一区av在线播放| 中文精品99久久国产香蕉| 亚洲精品一区二区三区婷婷月| 91免费精品国偷自产在线| 97精品一区二区视频在线观看| 91免费看片在线| 国产午夜精品免费一区二区三区| 亚洲综合中文字幕在线| 7777免费精品视频| 中文字幕在线视频日韩| 亚洲天堂男人天堂女人天堂| 九九热精品视频在线播放| 按摩亚洲人久久| 深夜福利日韩在线看| 国产精品免费看久久久香蕉| 亚洲电影免费观看高清完整版在线观看| 久热在线中文字幕色999舞| 久久久噜噜噜久久| 国产日韩欧美自拍| 亚洲精品网站在线播放gif| 亚洲欧美一区二区三区在线| 日本精品一区二区三区在线播放视频| 欧美精品在线免费播放| 中文字幕日韩欧美精品在线观看| 一区二区在线免费视频| 日韩在线观看免费高清完整版| 国产精品18久久久久久麻辣| 在线观看亚洲区| 精品久久久91| 91欧美精品午夜性色福利在线| 欧美精品999| 日韩成人小视频| 91视频国产精品| 国产精品久久久久久亚洲影视| 成人免费网站在线看| 欧美午夜精品久久久久久浪潮| 中文字幕欧美精品日韩中文字幕| 国产精品99久久久久久人| 亚洲欧美一区二区三区久久| 国产在线拍偷自揄拍精品| 久久精品视频中文字幕| 日本久久久久久久久久久| 欧美日韩中文字幕| 亚洲毛片在线观看| 97久久久久久| 欧洲美女免费图片一区| 国产有码一区二区| 亚洲欧美制服第一页| 影音先锋日韩有码| 日韩av手机在线| 亚洲欧美国产制服动漫| 日韩动漫免费观看电视剧高清| 亚洲精品98久久久久久中文字幕| 欧美激情精品久久久久久变态| 欧洲日本亚洲国产区| 91在线免费观看网站| 亚洲美女av电影| 最近的2019中文字幕免费一页| 午夜精品久久久久久久99热浪潮| 91精品国产沙发| 国产成人福利视频| 亚洲欧美中文在线视频| 久久成人这里只有精品| 成人免费网站在线| 欧美日韩加勒比精品一区| 久久久久久国产| 日韩最新中文字幕电影免费看| 亚洲美女av黄| 91精品国产综合久久香蕉最新版| 欧美大成色www永久网站婷| 欧美高清视频免费观看| 国产精品91视频| 精品久久久久久久久久国产| 国产精品青草久久久久福利99| 亚洲专区国产精品| 搡老女人一区二区三区视频tv| 国产精品久久久久久av福利软件| 日韩av免费在线播放| 精品亚洲国产视频| 日韩中文在线中文网三级| 亚洲免费av片| 91精品视频专区| 国产精品黄色av| 欧美激情一区二区三区在线视频观看| 98午夜经典影视| 日韩色av导航| 日韩精品免费在线| 国产精品一区二区在线| 亚洲视频自拍偷拍| 亚洲精品一区二区三区婷婷月| 粉嫩av一区二区三区免费野| 国产精品私拍pans大尺度在线| 日韩欧美亚洲国产一区| 国产精品久久久久久久9999| 久久久极品av| 日韩精品在线第一页| 欧美成人精品三级在线观看| 亚洲午夜精品视频| 国产精品直播网红| 亚洲成人精品av|