程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> C# 之 EXCEL導入導出,

C# 之 EXCEL導入導出,

編輯:關於.NET

C# 之 EXCEL導入導出,


1:EXCEL導出非常簡單,將EXCEL模板上傳到項目中後,將其浏覽URL保存下來(excelUrl),然後:

window.location.href="http://localhost:10086/yuanxin/Resources/BusRoute.xlsx"  //EXCEL浏覽路徑

或者使用<a href="excelUrl"></a>都行。

 

2:EXCEL導入並獲取數據,直接貼代碼如下:

public class ExcelHelp
    {
        //獲取http請求Request對象
        public static HttpRequest baseRequest = HttpContext.Current.Request;
        //獲取http請求Response對象
        public static HttpResponse baseResponse = HttpContext.Current.Response;
        /// <summary>
        /// 獲取Post請求EXCEL文件數據
        /// </summary>
        /// <param name="fileFormName">EXCEL的表單名稱</param>
        /// <returns></returns>
        public static DataTable GetExcelData(string fileFormName)
        {
            //獲取Post請求--表單文件的文件名
            string uploadFileName = baseRequest.Files[fileFormName].FileName;
            //上傳文件到指定目錄(項目根目錄/Resources/uploadFileName)--可根據項目文件目錄進行調整
            string path = HttpContext.Current.Server.MapPath("~/Resources/" + uploadFileName);
            baseRequest.Files[fileFormName].SaveAs(path);

            DataTable dataTable = new DataTable();
            DataSet dataSet = new DataSet();
            //解析文件數據,並存入服務器
            //備注: "HDR=yes;"是說Excel文件的第一行是列名而不是數據,"HDR=No;"正好與前面的相反。
            //"IMEX=1 "如果列中的數據類型不一致,使用"IMEX=1"可必免數據類型沖突。 
            string strConn = string.Format("Provider = Microsoft.ACE.OLEDB.12.0; Data Source = {0}; Extended Properties = 'Excel 8.0;HDR=Yes;IMEX=1';", path);
            OleDbDataAdapter oada = new OleDbDataAdapter("select * from [Sheet1$]", strConn);
            oada.Fill(dataSet);

            if (dataSet.Tables.Count > 0)
            {
                dataTable = dataSet.Tables[0];
            }
            if (System.IO.File.Exists(path))
            {
                //如果存在則刪除
                System.IO.File.Delete(path);
            }
            return dataTable;
        }
    }

 

備注:   使用C#創建EXCEL,暫未研究,以後有空再做補充。   

在編寫本博客時,查閱了下面幫助博客:導入excel錯誤:外部表不是預期的格式 解決方案

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved