1. 程式人生 > >C# Excel 獲取所有資料

C# Excel 獲取所有資料

 public static void GetExcelData(string fileName, string sheet = "sheet1")
        {
            
            string  connectinString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + fileName + ";" + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
            //建立 連結  建立到資料來源的物件
            OleDbConnection connection = new OleDbConnection(connectinString);
            //開啟連結
            connection.Open();

            string sql = $"select * from [{sheet}$]"; //sql 語法  是一個查詢命令
            OleDbDataAdapter adapter = new OleDbDataAdapter(sql, connection);

            DataSet dataSet = new DataSet();//用來放資料 用來存放DataTable

            adapter.Fill(dataSet);//表示把查詢 結果datatable 放到(填充)dataset 裡面

            connection.Close();//釋放連結資源  

            //取得資料
            DataTableCollection tableCollection = dataSet.Tables; //獲取當前集合中所有 表格

           
            DataTable table = tableCollection[0];//因為只往dataset裡面放置 了一張表格 ,所有這裡取得索引為0的表格就是我們剛剛查詢到的表格

            //取得表格中的資料
            //取得table中所有的行
            DataRowCollection dataTableRow = table.Rows;//返回了一個行的集合

            //遍歷行的集合,取得每一個行的datarow物件
            foreach (DataRow row in dataTableRow)
            {
                //取得row中 前8列的資料 索引 0-7
                 
                foreach (var o in row.ItemArray)
                {
                    Console.Write(o + " ");
                }
                Console.WriteLine("");
            }
        }