or
| <%@ Page Language="C#" AutoEventWireup="true" CodeFile="CSExcel.aspx.cs" Inherits="CSExcel" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <%@ Register Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" |
| Namespace="System.Web.UI" TagPrefix="asp" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head runat="server"> |
| <title>Import Excel Data into GridView</title> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <telerik:RadScriptManager ID="RadScriptManager1" runat="server" EnableTheming="True"> |
| </telerik:RadScriptManager> |
| <div> |
| <asp:FileUpload ID="FileUpload1" runat="server" /> |
| <asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click" /> |
| <br /> |
| <asp:Label ID="Label1" runat="server" Text="Has Header ?"></asp:Label> |
| <asp:RadioButtonList ID="rbHDR" runat="server"> |
| <asp:ListItem Text="Yes" Value="Yes" Selected="True"></asp:ListItem> |
| <asp:ListItem Text="No" Value="No"></asp:ListItem> |
| </asp:RadioButtonList> |
| </div> |
| <br /> |
| <div> |
| <telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" AllowSorting="True" |
| GridLines="Horizontal" OnSortCommand="RadGrid1_SortCommand" PageSize="50"> |
| <MasterTableView AutoGenerateColumns="True"> |
| <DetailTables> |
| <telerik:GridTableView runat="server" Width="100%"> |
| <Columns> |
| <telerik:GridBoundColumn SortExpression="CodAluno" HeaderText="CodAluno" HeaderButtonType="TextButton" |
| DataField="CodAluno" /> |
| <telerik:GridBoundColumn SortExpression="CodTurma" HeaderText="CodTurma" HeaderButtonType="TextButton" |
| DataField="CodTurma" /> |
| <telerik:GridBoundColumn SortExpression="NomeAluno" HeaderText="NomeAluno" HeaderButtonType="TextButton" |
| DataField="NomeAluno" /> |
| <telerik:GridBoundColumn SortExpression="EmailAluno" HeaderText="EmailAluno" HeaderButtonType="TextButton" |
| DataField="EmailAluno" /> |
| </Columns> |
| </telerik:GridTableView> |
| </DetailTables> |
| <RowIndicatorColumn> |
| <HeaderStyle Width="20px"></HeaderStyle> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn> |
| <HeaderStyle Width="20px"></HeaderStyle> |
| </ExpandCollapseColumn> |
| <SortExpressions> |
| <telerik:GridSortExpression FieldName="CodAluno" SortOrder="Ascending" /> |
| </SortExpressions> |
| </MasterTableView> |
| </telerik:RadGrid> |
| </div> |
| </form> |
| </body> |
| </html> |
| using System; |
| using System.Web; |
| using System.Web.Security; |
| using System.Web.UI; |
| using System.Web.UI.WebControls; |
| using System.Web.UI.WebControls.WebParts; |
| using System.Web.UI.HtmlControls; |
| using System.Data; |
| using System.Data.OleDb; |
| using System.IO; |
| using System.Configuration; |
| using System.Drawing; |
| using System.Text; |
| using Telerik.Web.UI; |
| public partial class CSExcel : System.Web.UI.Page |
| { |
| public string FileName; |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| } |
| protected void btnUpload_Click(object sender, EventArgs e) |
| { |
| if (FileUpload1.HasFile) |
| { |
| string FileName = Path.GetFileName(FileUpload1.PostedFile.FileName); |
| string Extension = Path.GetExtension(FileUpload1.PostedFile.FileName); |
| string FolderPath = ConfigurationManager.AppSettings["FolderPath"]; |
| string FilePath = Server.MapPath(FolderPath + FileName); |
| FileUpload1.SaveAs(FilePath); |
| Import_To_Grid(FilePath, Extension, rbHDR.SelectedItem.Text); |
| } |
| } |
| // |
| private void Import_To_Grid(string FilePath, string Extension, string isHDR) |
| { |
| string conStr=""; |
| switch (Extension) |
| { |
| case ".xls": //Excel 97-03 |
| conStr = ConfigurationManager.ConnectionStrings["Excel03ConString"].ConnectionString; |
| break; |
| case ".xlsx": //Excel 07 |
| conStr = ConfigurationManager.ConnectionStrings["Excel07ConString"].ConnectionString; |
| break; |
| } |
| conStr = String.Format(conStr, FilePath, isHDR); |
| OleDbConnection connExcel = new OleDbConnection(conStr); |
| OleDbCommand cmdExcel = new OleDbCommand(); |
| OleDbDataAdapter oda = new OleDbDataAdapter(); |
| DataTable DadosImportados = new DataTable(); |
| cmdExcel.Connection = connExcel; |
| //Get the name of First Sheet |
| connExcel.Open(); |
| DataTable dtExcelSchema; |
| dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); |
| string SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString(); |
| connExcel.Close(); |
| //Read Data from First Sheet |
| connExcel.Open(); |
| cmdExcel.CommandText = "SELECT * From [" + SheetName + "]"; |
| oda.SelectCommand = cmdExcel; |
| oda.Fill(DadosImportados); |
| connExcel.Close(); |
| //Bind Data to GridView |
| RadGrid1.DataSource = DadosImportados; |
| RadGrid1.DataBind(); |
| } |
| // |
| // |
| protected void PageIndexChanging(object sender, GridViewPageEventArgs e) |
| { |
| string FolderPath = ConfigurationManager.AppSettings["FolderPath"]; |
| string Extension = Path.GetExtension(FileName); |
| string FilePath = Server.MapPath(FolderPath + FileName); |
| Import_To_Grid(FilePath, Extension, rbHDR.SelectedItem.Text); |
| RadGrid1.CurrentPageIndex = e.NewPageIndex; |
| RadGrid1.DataBind(); |
| } |
| //protected void RadGrid1_SortCommand(object source, Telerik.Web.UI.GridSortCommandEventArgs e) |
| //{ |
| // GridSortExpression expression = new GridSortExpression(); |
| // expression.FieldName = "CodAluno"; |
| // expression.SortOrder = GridSortOrder.Descending; |
| // RadGrid1.MasterTableView.SortExpressions.AddSortExpression(expression); |
| // RadGrid1.MasterTableView.Rebind(); |
| //} |
| // |
| protected void RadGrid1_SortCommand(object source, GridSortCommandEventArgs e) |
| { |
| GridTableView tableView = e.Item.OwnerTableView; |
| e.Canceled = true; |
| GridSortExpression expression = new GridSortExpression(); |
| expression.FieldName = "EmployeeID"; |
| if (tableView.SortExpressions.Count == 0 || |
| tableView.SortExpressions[0].FieldName != "EmployeeID") |
| { |
| expression.SortOrder = GridSortOrder.Descending; |
| } |
| else if (tableView.SortExpressions[0].SortOrder == GridSortOrder.Descending) |
| { |
| expression.SortOrder = GridSortOrder.Ascending; |
| } |
| else if (tableView.SortExpressions[0].SortOrder == GridSortOrder.Ascending) |
| { |
| expression.SortOrder = GridSortOrder.None; |
| } |
| tableView.SortExpressions.AddSortExpression(expression); |
| tableView.Rebind(); |
| } |
| } |
| <telerik:RadCalendar ID="calendar" Width="500px" Height="400px" runat="server" OnDayRender="calendar_DayRender"> |
| <CalendarDayTemplates> |
| <telerik:DayTemplate ID="templateMinutes"> |
| <Content> |
| <telerik:RadTextBox ID="txtMinutes" runat="server" Columns="5"> |
| </telerik:RadTextBox> |
| </Content> |
| </telerik:DayTemplate> |
| </CalendarDayTemplates> |
| </telerik:RadCalendar> |
| <telerik:RadGrid ID="RadGrid1" ShowGroupPanel="false" DataSourceID="MediaRelatedDS" Skin="Default" |
| AllowPaging="True" runat="server" AllowSorting="false" OnDataBound="RadGrid1_DataBound" OnPreRender="RadGrid1_PreRender" |
| OnItemDataBound="RadGrid1_ItemDataBound" AllowFilteringByColumn="false" PageSize="10" ShowHeader="False"> |
| <PagerStyle Mode="NumericPages" /> |
| <MasterTableView TableLayout="Fixed" |
| nomasterrecordstext="<b class="noRecords">No records to display.</b> <br /><br />"> |
| <ItemTemplate> <%# (((GridItem)Container).ItemIndex > 0) ? "</td></tr></table>" : ""%> |
| <asp:Repeater ID="repPhoto" runat="server"> |
| <ItemTemplate> |
| <div class="mediaThumb"><a rel="lightbox-gallery<%#(Eval("PrimaryKeyID").ToString())%>" href="/uploads/images/MediaCoverage/<%#(Eval("Image").ToString()) %>" class="highslide" onclick="return hs.expand (this, { wrapperClassName: 'wide-border'})">thmb</div> |
| </ItemTemplate> |
| </asp:Repeater> |
| protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) |
| { |
| int itemCount = (sender as RadGrid).MasterTableView.GetItems(GridItemType.Item).Length + (sender as RadGrid).MasterTableView.GetItems(GridItemType.AlternatingItem).Length; |
| foreach (GridItem item in (sender as RadGrid).Items) |
| { |
| string itemID = "1"; |
| Repeater repPhoto = (Repeater)e.Item.FindControl("repPhoto"); |
| DataTable ds = getMediaImages(itemID); |
| repPhoto.DataSource = ds; |
| repPhoto.DataBind(); |
| } |
| } |