2010-03-30 2 views
0

Я объявила DataGrid в представлении ASP.NET, и я бы хотел сгенерировать некоторый код C# для заполнения указанного DataGrid таблицей Excel (.xlsx). Вот код, который у меня есть:Excel Reader ASP.NET

<asp:DataGrid id="DataGrid1" runat="server"/> 
     <script language="C#" runat="server"> 
      protected void Page_Load(object sender, EventArgs e) 
      { 
       string connString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\FileName.xlsx;Extended Properties=""Excel 12.0;HDR=YES;"""; 
       // Create the connection object 
       OleDbConnection oledbConn = new OleDbConnection(connString); 
       try 
       { 
        // Open connection 
        oledbConn.Open(); 

        // Create OleDbCommand object and select data from worksheet Sheet1 
        OleDbCommand cmd = new OleDbCommand("SELECT * FROM [sheetname$]", oledbConn); 

        // Create new OleDbDataAdapter 
        OleDbDataAdapter oleda = new OleDbDataAdapter(); 

        oleda.SelectCommand = cmd; 

        // Create a DataSet which will hold the data extracted from the worksheet. 
        DataSet ds = new DataSet(); 

        // Fill the DataSet from the data extracted from the worksheet. 
        oleda.Fill(ds, "Something"); 

        // Bind the data to the GridView 
        DataGrid1.DataSource = ds.Tables[0].DefaultView; 
        DataGrid1.DataBind(); 
       } 
       catch 
       { 
       } 
       finally 
       { 
        // Close connection 
        oledbConn.Close(); 
       } 
      } 
     </script> 

Когда я запускаю сайт, ничего действительно не происходит. Что дает?

+1

Вы уверены, «Не получилось ошибку? - у вас нет кода в вашем блоке catch. – CResults

+0

Чтобы использовать, наконец, блок try/catch/finally, вам не нужно указывать блок catch ... так что try/finally будет достаточным, и, следовательно, если возникнут какие-либо ошибки, они будут пузыряться до ... – ozczecho

ответ

3

Старый драйвер JET делает не, но поддерживает формат XLSX, только формат BIFF (XLS).

Вам нужно Somthing как это для строки подключения:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\FileName.xlsx;Extended Properties="Excel 12.0;HDR=Yes;IMEX=2" 

Вам также необходимо скачать и установить это на вашем веб-сервере:

http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en

Смежные вопросы