Hi I have problem in exporting to excel from the grid. It throws exception if I set
<Excel Format = "excelML">
for <Excel Format="html"> its working fine.
Here is my grid settings.
And this is the Error I m getting after execution of btnExport_Click event.
<Excel Format = "excelML">
for <Excel Format="html"> its working fine.
Here is my grid settings.
<telerik:RadGrid ID="grdCheckData" runat="server" AllowPaging="True" AllowSorting ="true" GridLines="both" OnPageIndexChanged="grdCheckData_PageIndexChanged" OnPageSizeChanged="grdCheckData_PageSizeChanged" |
OnSortCommand="grdCheckData_SortCommand" ShowGroupPanel="true" ><%--OnExcelExportCellFormatting="grdCheckData_ExcelExportCellFormatting" OnExcelMLExportRowCreated="grdCheckData_ExcelMLExportRowCreated" OnExcelMLExportStylesCreated="grdCheckData_ExcelMLExportStylesCreated" --%> |
<ClientSettings AllowColumnsReorder ="true" AllowDragToGroup="true" ReorderColumnsOnClient="true" Scrolling-AllowScroll="true" > |
<Resizing AllowRowResize="True" EnableRealTimeResize="True" ResizeGridOnColumnResize="True" |
AllowColumnResize="True"></Resizing> |
</ClientSettings> |
<GroupingSettings ShowUnGroupButton="true" UnGroupTooltip ="Drag the field to group by." /> |
<SortingSettings SortedBackColor="Azure" EnableSkinSortStyles="false" /> |
<ExportSettings FileName ="CheckInfo" OpenInNewWindow="true" IgnorePaging ="true" ExportOnlyData="true" > |
<Excel Format="excelML" /> |
<Pdf AllowPrinting="true" /> |
</ExportSettings> |
<MasterTableView AutoGenerateColumns ="false" > |
<RowIndicatorColumn> |
<HeaderStyle Width="20px" /> |
</RowIndicatorColumn> |
<ExpandCollapseColumn> |
<HeaderStyle Width="20px" /> |
</ExpandCollapseColumn > |
<Columns > |
<telerik:GridBoundColumn DataField ="BANK" UniqueName ="BANK" SortExpression="BANK" ReadOnly ="true" HeaderText ="Bank" > <ItemStyle Width ="100" /></telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField ="BANKNO" UniqueName ="BANKNO" SortExpression ="BANKNO" ReadOnly ="true" HeaderText ="Bank ID" ><ItemStyle Width ="100" /></telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField ="PMSID" UniqueName ="PMSID" SortExpression ="PMSID" ReadOnly ="true" HeaderText ="PMS ID" ><ItemStyle Width ="100" /></telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField ="SSN" UniqueName ="SSN" ReadOnly ="true" SortExpression ="SSN" HeaderText ="SSN" ><ItemStyle Width ="100" /></telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField ="FNAME" UniqueName ="FNAME" ReadOnly ="true" SortExpression ="FNAME" HeaderText ="First Name" ><ItemStyle Width ="100" /></telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField ="LNAME" UniqueName ="LNAME" ReadOnly ="true" SortExpression ="LNAME" HeaderText ="Last Name" ><ItemStyle Width ="100" /></telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField ="LET" UniqueName ="LET" ReadOnly ="true" HeaderText ="Let" SortExpression ="LET" ><ItemStyle Width ="100" /></telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField ="CHECKNUM" UniqueName ="CHECKNUM" ReadOnly ="true" SortExpression ="CHECKNUM" HeaderText ="Check No." ><ItemStyle Width ="100" /></telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField ="CHECKDT" UniqueName ="CHECKDT" ReadOnly ="true" SortExpression ="CHECKDT" HeaderText ="Check Date" DataType = "System.DateTime" DataFormatString="{0:MM/dd/yyyy}" HtmlEncode="false" ><ItemStyle Width ="100" /></telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField ="NETPAY" UniqueName ="NETPAY" DataFormatString="{0:$###,###.##}" ReadOnly ="true" SortExpression ="NETPAY" HeaderText ="Net Amt." ><ItemStyle Width ="100" /></telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField ="DISPDT" UniqueName ="DISPDT" ReadOnly ="true" SortExpression ="DISPDT" HeaderText ="Disp. Date" DataType = "System.DateTime" DataFormatString="{0:MM/dd/yyyy}" HtmlEncode="false" > |
<ItemStyle Width ="100" /> |
</telerik:GridBoundColumn> |
</Columns> |
</MasterTableView> |
</telerik:RadGrid> |
Here is my code for export.
protected void btnExportExl_Click(object sender, EventArgs e) |
{ |
try |
{ |
if ((!IsPostBack) || (!IsValid)) |
return; |
RadGrid grdCheckData = (RadGrid)dataPanel.FindItemByValue("CheckData").FindControl("grdCheckData"); |
grdCheckData.MasterTableView.ExportToExcel(); |
} |
catch (Exception ex) |
{ |
throw; |
} |
} |
protected void grdCheckData_ExcelExportCellFormatting(object source, ExcelExportCellFormattingEventArgs e) |
{ |
} |
protected void grdCheckData_ExcelMLExportStylesCreated(object source, Telerik.Web.UI.GridExcelBuilder.GridExportExcelMLStyleCreatedArgs e) |
{ |
foreach (Telerik.Web.UI.GridExcelBuilder.StyleElement style in e.Styles) |
{ |
if (style.Id == "headerStyle") |
{ |
style.FontStyle.Bold = true; |
style.FontStyle.Color = System.Drawing.Color.Brown; |
style.InteriorStyle.Color = System.Drawing.Color.Wheat; |
style.InteriorStyle.Pattern = Telerik.Web.UI.GridExcelBuilder.InteriorPatternType.Solid; |
} |
else if (style.Id == "itemStyle") |
{ |
style.NumberFormat.FormatType = Telerik.Web.UI.GridExcelBuilder.NumberFormatType.Currency; |
style.AlignmentElement.HorizontalAlignment = Telerik.Web.UI.GridExcelBuilder.HorizontalAlignmentType.Left; |
style.InteriorStyle.Color = System.Drawing.Color.WhiteSmoke; |
style.InteriorStyle.Pattern = Telerik.Web.UI.GridExcelBuilder.InteriorPatternType.Solid; |
} |
else if (style.Id == "alternatingItemStyle") |
{ |
style.NumberFormat.FormatType = Telerik.Web.UI.GridExcelBuilder.NumberFormatType.Currency; |
style.AlignmentElement.HorizontalAlignment = Telerik.Web.UI.GridExcelBuilder.HorizontalAlignmentType.Left; |
style.InteriorStyle.Color = System.Drawing.Color.LightGray; |
style.InteriorStyle.Pattern = Telerik.Web.UI.GridExcelBuilder.InteriorPatternType.Solid; |
} |
} |
} |
protected void grdCheckData_ExcelMLExportRowCreated(object source, Telerik.Web.UI.GridExcelBuilder.GridExportExcelMLRowCreatedArgs e) |
{ |
if (e.RowType == Telerik.Web.UI.GridExcelBuilder.GridExportExcelMLRowType.HeaderRow) |
{ |
Telerik.Web.UI.GridExcelBuilder.RowElement row = new Telerik.Web.UI.GridExcelBuilder.RowElement(); |
Telerik.Web.UI.GridExcelBuilder.CellElement cell = new Telerik.Web.UI.GridExcelBuilder.CellElement(); |
cell.Data.DataItem = "NYC Department Of Education"; |
row.Cells.Add(cell); |
e.Worksheet.Table.Rows.Insert(0, row); |
} |
} |
And this is the Error I m getting after execution of btnExport_Click event.
Object reference not set to an instance of an object. |
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. |
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object. |
Source Error: |
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. |
Stack Trace: |
[NullReferenceException: Object reference not set to an instance of an object.] |
Telerik.Web.UI.Grid.Export.TableViewExporter.ExcelExportRenderForm(HtmlTextWriter nullWriter, Control form) +864 |
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +256 |
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19 |
System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +8676409 |
System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) +32 |
System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +51 |
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27 |
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99 |
System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +40 |
Telerik.Web.UI.Grid.Export.TableViewExporter.ExcelExportRenderPage(HtmlTextWriter nullWriter, Control page) +93 |
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +256 |
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19 |
System.Web.UI.Page.Render(HtmlTextWriter writer) +29 |
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27 |
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99 |
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25 |
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1266 |
-------------------------------------------------------------------------------- |
Version Information: Microsoft .NET Framework Version:2.0.50727.3082; ASP.NET Version:2.0.50727.3082 |