<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:35:46
        文檔

        ASP.NET實現上傳Excel功能

        ASP.NET實現上傳Excel功能:這幾天正好用到上傳Excel,并根據Excel中的數據做相應的處理,故整理以備用。 用到的資源: (1)NOPI 2.2.0.0 可自己官網下載,也可點擊:http://pan.baidu.com/s/1b1EMdg (2)用到一些常見處理文件的公共方法類,可以添加到項目中:http://pan.
        推薦度:
        導讀ASP.NET實現上傳Excel功能:這幾天正好用到上傳Excel,并根據Excel中的數據做相應的處理,故整理以備用。 用到的資源: (1)NOPI 2.2.0.0 可自己官網下載,也可點擊:http://pan.baidu.com/s/1b1EMdg (2)用到一些常見處理文件的公共方法類,可以添加到項目中:http://pan.

        這幾天正好用到上傳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="https://www.gxlcms.com/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;
         }
         }
        

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

        文檔

        ASP.NET實現上傳Excel功能

        ASP.NET實現上傳Excel功能:這幾天正好用到上傳Excel,并根據Excel中的數據做相應的處理,故整理以備用。 用到的資源: (1)NOPI 2.2.0.0 可自己官網下載,也可點擊:http://pan.baidu.com/s/1b1EMdg (2)用到一些常見處理文件的公共方法類,可以添加到項目中:http://pan.
        推薦度:
        標簽: 上傳 excel 實現
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 久久精品国产影库免费看| 欧美最猛性xxxxx免费| 久久久久久国产精品免费免费男同 | 亚洲国产天堂久久综合| 亚洲熟妇av一区二区三区漫画| 亚洲欧洲国产精品你懂的| 免费黄网站在线看| 亚洲人成电影福利在线播放| 免费视频成人手机在线观看网址| 亚洲av永久无码精品国产精品| 免费成人在线视频观看| 久久久久亚洲AV成人片| 国产免费AV片在线播放唯爱网| 亚洲人成免费网站| 国产国产人免费视频成69大陆| 一级做a爰片久久免费| 亚洲人成精品久久久久| 91精品国产免费入口| 亚洲人成网站在线观看播放青青| 黄页网站在线看免费| 在线观看亚洲视频| 在线视频免费观看爽爽爽| 精品亚洲成在人线AV无码| 热99re久久精品精品免费| 日韩精品无码免费视频| 久久亚洲免费视频| 插B内射18免费视频| 成年大片免费视频播放一级| 女人让男人免费桶爽30分钟| 亚洲高清日韩精品第一区| 国产无遮挡色视频免费观看性色| 日本久久久免费高清| 特级aa**毛片免费观看| 国产又长又粗又爽免费视频| 一级免费黄色毛片| 亚洲精品国产专区91在线| 永久免费看bbb| 97无码人妻福利免费公开在线视频 | 女人被弄到高潮的免费视频| 国产精品玖玖美女张开腿让男人桶爽免费看 | 亚洲国产成人久久综合一区77|