利用ASP.NET來讀取Excel(.xls)或Access(.mdb)檔,並且以GridView來顯示結果

利用ASP.NET來讀取Excel(.xls)或Access(.mdb)檔,並且以GridView來顯示結果

最近剛好有網友問到這個問題..所以就寫個範例來解答網友...

首先要先準備好Excel或Access檔....完整程式碼如下(C#範例):

ReadExcel_CS.aspx

01 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ReadExcel_CS.aspx.cs" Inherits="ReadExcel_CS" %>
02
03 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
04 <html xmlns="http://www.w3.org/1999/xhtml">
05 <head id="Head1" runat="server">
06     <title>未命名頁面</title>
07 </head>
08 <body>
09     <form id="form1" runat="server">
10         <div>
11             <asp:GridView ID="GridView1" runat="server">
12             </asp:GridView>
13             <asp:GridView ID="GridView2" runat="server">
14             </asp:GridView>
15         </div>
16     </form>
17 </body>
18 </html>
19


ReadExcel_CS.aspx.cs

01 using System;
02 using System.Data;
03 using System.Configuration;
04 using System.Collections;
05 using System.Web;
06 using System.Web.Security;
07 using System.Web.UI;
08 using System.Web.UI.WebControls;
09 using System.Web.UI.WebControls.WebParts;
10 using System.Web.UI.HtmlControls;
11 using System.Data.OleDb;

12
13 public partial class ReadExcel_CS : System.Web.UI.Page
14 {
15     protected void Page_Load(object sender, EventArgs e)
16     {
17         //read excel file
18         string strConn;
19         strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
20         "Data Source=C:\\test.xls;" +
21         "Extended Properties=Excel 8.0;";
22
23         OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn);
24
25         DataSet myDataSet = new DataSet();
26         myCommand.Fill(myDataSet, "ExcelInfo");
27         this.GridView1.DataSource = myDataSet.Tables["ExcelInfo"].DefaultView;
28         this.GridView1.DataBind();
29
30         //read access file
31         string strConn2;
32         strConn2 = "Provider=Microsoft.Jet.OLEDB.4.0;" +
33         "Data Source=c:\\test.mdb;" +
34         "Persist Security Info=True;";
35
36         OleDbDataAdapter myCommand2 = new OleDbDataAdapter("select * from test", strConn2);
37
38         DataSet myDataSet2 = new DataSet();
39         myCommand2.Fill(myDataSet2, "AccessInfo");
40         this.GridView2.DataSource = myDataSet2.Tables["AccessInfo"].DefaultView;
41         this.GridView2.DataBind();
42
43     }

44 }

45