2012年6月18日 星期一

使用 SqlDataSource 連結 Excel 2007 的 xlsx檔 ,並使用GirdView繫結

恩...首先,是沒辦法使用Visual Studio的資料來源模型設計工具來設定的..
只能自己敲標籤





所以首先
1.準備連線字串(此範例寫在web.Config)
  (連線字串中使用OLEDB的Priovider,並指定 Book1.xlsx為欲開啟的Excel檔案)

   1:  <connectionStrings>
   2:    <add name="ConnectionString2" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Book1.xlsx;Extended Properties='Excel 12.0 Xml;HDR=YES'"
   3:             providerName="System.Data.OleDb" />
   4:    </connectionStrings>


2.接著在網頁上加入SqlDataSource與GirdView控制項,並手動加入設定標籤
   (SqlDataSource中的SelectedCommand的語法就是用來查sheet1頁簽中的資料)


   1:<asp:SqlDataSource ID="db" ConnectionString="<%$ ConnectionStrings:ConnectionString2 %>"
   2:     ProviderName="<%$ ConnectionStrings:ConnectionString2.ProviderName %>"  
   3:     SelectCommand="SELECT * FROM [sheet1$]" runat="server"></asp:SqlDataSource>
   4:<asp:GridView ID="GridView2" runat="server" DataSourceID="db" Width="469px">
   5:</asp:GridView>



接著準備好 Book1.xlsx檔案(放在App_Data目錄)

開啟網頁就可以看到以下的結果了.






沒有留言:

張貼留言