使用Excel文件做为DataGrid的数据源是非常简单的,一旦数据被装载进来,就可以把数据再保存进SQL Server或XML中。我们只需要简单地使用OLE DB Provider 来访问Excel文件,然后返回DataSet即可。
下面是要显示的Excel数据contact.xls:
只需要指定Excel路径,并用[]选择一个工作表即可。
完整代码如下:
1<%...@ Page Language="C#" Debug="true" %> 2<%...@ Import Namespace="System.Data"%> 3<%...@ Import Namespace="System.Data.OleDb"%> 4 5<script runat="server">... 6 7private DataSet CreateDataSource()...{ 8string strConn; 9strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + 10"Data Source=C:\\Inetpub\\wwwroot\\contacts.xls;"+ 11"Extended Properties=Excel 8.0;"; 12OleDbConnection conn = new OleDbConnection(strConn); 13OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [ContactList$]", strConn); 14DataSet myDataSet = new DataSet(); 15myCommand.Fill(myDataSet); 16return myDataSet; 17} 18 19 20public void Page_Load(Object sender, EventArgs e)...{ 21if (!IsPostBack) ...{ 22mygrid.DataSource = CreateDataSource(); 23mygrid.DataBind(); 24} 25 26} 27 28 29</script> 30 31 32<center> 33<form runat="server"> 34<asp:datagrid runat="server" AutoGenerateColumns="false" 35width="500" id="mygrid"> 36 37<HeaderStyle BorderColor="White" BackColor="black" 38ForeColor="White" 39Font-Bold="True" 40Font-Name="Arial" 41Font-Size="9" HorizontalAlign="Center"/> 42 43<ItemStyle BorderColor="" 44BackColor="#FFFFF0" 45ForeColor="Black" 46Font-Name="Arial" 47Font-Size="8" 48Font-Bold="False" HorizontalAlign="Center"/> 49 50<Columns> 51 52<asp:BoundColumn HeaderText="姓名" ReadOnly="true" DataField="姓名"/> 53<asp:BoundColumn HeaderText="性别" ReadOnly="true" DataField="性别"/> 54<asp:BoundColumn HeaderText="Email" ReadOnly="true" DataField="地址"/> 55</Columns> 56 57</asp:datagrid> 58</form> 59
Because of the cache,you may see your comments several minutes later.