This is a migrated thread and some comments may be shown as answers.

No data in exported excel file

1 Answer 89 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Jose
Top achievements
Rank 2
Jose asked on 14 Jul 2011, 01:35 PM
Hi,

I have a problem exporting a grid to excel.
All works fine but the excel file is empty.

I can confirm that NeedDataSource event is raised and data come from repository when the export button is clicked.
This is the code for export:

       protected void ToExcelButton_Click(object sender, EventArgs e)
          {
                ConfigureExport();
                ListGrid.MasterTableView.ExportToExcel();
          }

          public void ConfigureExport()
          {
                ListGrid.ExportSettings.ExportOnlyData =
true;
                ListGrid.ExportSettings.IgnorePaging =
true;
                ListGrid.ExportSettings.OpenInNewWindow =
true;
                // Hide button columns
                ListGrid.MasterTableView.GetColumn("EditButton").Visible = false;
                ListGrid.MasterTableView.GetColumn("Logo").Visible = false;
                ListGrid.MasterTableView.GetColumn("DeleteButton").Visible = false;
          }

And this is the page code:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="List.aspx.cs" Inherits="Quasar.WebUI.Customers.Customers.List" %>
 
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
    <title>Quasar | CRM - Customers List</title>
</asp:Content>
 
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
 
    <script type="text/javascript">
        // on ToExcel button click temporarily disables ajax to perform
        // actions
        function conditionalPostback(sender, args) {
            if (args.get_eventTarget().indexOf("ToExcelButton") >= 0) {
                args.set_enableAjax(false);
            }
        }
    </script>
 
   <telerik:RadWindowManager ID="ListRadWindowManager" runat="server" />
 
   <telerik:RadAjaxLoadingPanel ID="ListRadAjaxLoadingPanel" runat="server" Skin="Default" />
 
   <telerik:RadAjaxManager ID="ListRadAjaxManager" runat="server" ClientEvents-OnRequestStart="conditionalPostback">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="ListGrid">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="ListGrid" LoadingPanelID="ListRadAjaxLoadingPanel" UpdatePanelHeight="" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
 
    <div class="findField">
        <asp:Label ID="VATLabel" runat="server" AssociatedControlID="VAT">CIF/VAT :</asp:Label>
        <telerik:RadTextBox ID="VAT" runat="server" EmptyMessage="(empty)" MaxLength="25" Columns="15"
            SelectionOnFocus="SelectAll" ToolTip="Find Customer by CIF/VAT"></telerik:RadTextBox>
             
        <asp:Label ID="ContactLabel" runat="server" AssociatedControlID="Contact">Contact :</asp:Label>
        <telerik:RadTextBox ID="Contact" runat="server" EmptyMessage="(empty)" MaxLength="25" Columns="25"
            SelectionOnFocus="SelectAll" ToolTip="Find Customer by Contact"></telerik:RadTextBox>
             
        <asp:Label ID="EmailLabel" runat="server" AssociatedControlID="Email">Email :</asp:Label>
        <telerik:RadTextBox ID="Email" runat="server" EmptyMessage="(empty)" MaxLength="25" Columns="25"
            SelectionOnFocus="SelectAll" ToolTip="Find Customer by Contact Email"></telerik:RadTextBox>
             
        <telerik:RadButton ID="FindButton" runat="server" Icon-PrimaryIconUrl="~/Images/Find.png" Text="Find" Width="75px"
            onclick="FindButton_Click">
        </telerik:RadButton>
    </div>
 
    <telerik:RadGrid ID="ListGrid" runat="server" AllowFilteringByColumn="True"
        AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
        GridLines="None" ShowStatusBar="True" ShowGroupPanel="True"
        EnableLinqExpressions="false"
        onneeddatasource="ListGrid_NeedDataSource"
        onitemcommand="ListGrid_ItemCommand"
        onitemdatabound="ListGrid_ItemDataBound">
 
        <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True" AllowDragToGroup="True">
            <Selecting AllowRowSelect="False" />
        </ClientSettings>
 
        <GroupingSettings CaseSensitive="false" />
         
        <ExportSettings ExportOnlyData="true" IgnorePaging="true" OpenInNewWindow="true" FileName="Customers">
                <Excel Format="ExcelML" />
        </ExportSettings>
         
        <MasterTableView Name="Master" DataKeyNames="CustomerId" CommandItemDisplay="Top" CommandItemSettings-ShowRefreshButton="False"
            CommandItemSettings-ShowExportToExcelButton="true">
             
            <RowIndicatorColumn>
                <HeaderStyle Width="20px"></HeaderStyle>
            </RowIndicatorColumn>
 
            <ExpandCollapseColumn>
                <HeaderStyle Width="20px"></HeaderStyle>
            </ExpandCollapseColumn>
 
            <NestedViewSettings>
                <ParentTableRelation>
                    <telerik:GridRelationFields DetailKeyField="ContactId" MasterKeyField="CustomerId" />
                    <telerik:GridRelationFields DetailKeyField="AddressId" MasterKeyField="CustomerId" />
                </ParentTableRelation>
            </NestedViewSettings>
 
            <NestedViewTemplate>
 
                <asp:Panel runat="server" ID="InnerContainer" CssClass="viewWrap">
                    <telerik:RadTabStrip runat="server" ID="CustomersTabStrip" MultiPageID="CustomersMultipage" SelectedIndex="0">
                        <Tabs>
                            <telerik:RadTab runat="server" Text="Contacts" PageViewID="ContactsPageView">
                            </telerik:RadTab>
                            <telerik:RadTab runat="server" Text="Addresses" PageViewID="AddressesPageView">
                            </telerik:RadTab>
                        </Tabs>
                    </telerik:RadTabStrip>
 
                    <telerik:RadMultiPage runat="server" ID="CustomersMultipage" SelectedIndex="0" RenderSelectedPageOnly="false">
 
                        <telerik:RadPageView runat="server" ID="ContactsPageView">
 
                            <telerik:RadGrid ID="ContactsGrid" runat="server" AllowSorting="false" AllowFilteringByColumn="false"
                                PageSize="5" AllowPaging="true" AutoGenerateColumns="False" GridLines="None"
                                onneeddatasource="ContactsGrid_NeedDataSource">
 
                                <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True" AllowDragToGroup="True">
                                    <Selecting AllowRowSelect="False" />
                                </ClientSettings>
 
                                <MasterTableView DataKeyNames="ContactId">
 
                                    <Columns>
                                        <telerik:GridBoundColumn DataField="ContactId" HeaderText="Id"
                                            UniqueName="ContactId" Visible="false">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="Full Name" DataField="FullName" UniqueName="FullName">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="Position" DataField="Position" UniqueName="Position">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="Contact Type" DataField="ContactType.Description" UniqueName="ContactType">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridHyperLinkColumn DataNavigateUrlFields="Email" DataNavigateUrlFormatString="mailto:{0}"
                                            DataTextField="Email" HeaderText="Email" UniqueName="Email" Groupable="false"
                                            AllowFiltering="false">
                                        </telerik:GridHyperLinkColumn>
                                        <telerik:GridBoundColumn HeaderText="Phone" DataField="Phone" UniqueName="Phone">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="Mobile" DataField="Mobile" UniqueName="Mobile">
                                        </telerik:GridBoundColumn>
                                    </Columns>
 
                                </MasterTableView>
 
                            </telerik:RadGrid>
 
                        </telerik:RadPageView>
 
                        <telerik:RadPageView runat="server" ID="AddressesPageView">
 
                            <telerik:RadGrid ID="AddressesGrid" runat="server" AllowSorting="false" AllowFilteringByColumn="false"
                                PageSize="5" AllowPaging="true" AutoGenerateColumns="False" GridLines="None"
                                onneeddatasource="AddressesGrid_NeedDataSource">
 
                                <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True" AllowDragToGroup="True">
                                    <Selecting AllowRowSelect="False" />
                                </ClientSettings>
 
                                <MasterTableView DataKeyNames="AddressId">
 
                                    <Columns>
                                        <telerik:GridBoundColumn DataField="AddressId" HeaderText="Id"
                                            UniqueName="AddressId" Visible="false">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="Address Type" DataField="AddressType" UniqueName="AddressType">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="Full Address" DataField="FullAddress" UniqueName="FullAddress">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="Zip Code" DataField="ZipCode" UniqueName="ZipCode">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="City" DataField="City" UniqueName="City">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="Province" DataField="Province" UniqueName="Province">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="Country" DataField="Country" UniqueName="Country">
                                        </telerik:GridBoundColumn>
                                    </Columns>
 
                                </MasterTableView>
 
                            </telerik:RadGrid>
 
                        </telerik:RadPageView>
 
                    </telerik:RadMultiPage>
 
                </asp:Panel>
 
            </NestedViewTemplate>
 
            <Columns>
                <telerik:GridButtonColumn ButtonType="ImageButton" Reorderable="False"
                    Resizable="False" ShowFilterIcon="False" ShowSortIcon="False"
                    UniqueName="EditButton" ImageUrl="~/Images/Edit.png" CommandName="Edit">
                    <ItemStyle Width="20px" HorizontalAlign="Center" VerticalAlign="Middle" />
                </telerik:GridButtonColumn>
                <telerik:GridImageColumn AllowFiltering="False" AllowSorting="False"
                    DataAlternateTextField="Name" DataImageUrlFields="Logo"
                    DataImageUrlFormatString="~/Images/Customers/{0}" Groupable="False"
                    HeaderText="Logo" ImageHeight="64px" ImageWidth="64px" ShowSortIcon="False"
                    UniqueName="Logo" ItemStyle-Width="75px">
                    <ItemStyle Width="75px" />
                </telerik:GridImageColumn>
                <telerik:GridBoundColumn DataField="CustomerId" HeaderText="Id" UniqueName="CustomerId" Visible="false"
                    AllowFiltering="False">
                </telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="Name" HeaderText="Name" UniqueName="Name">
                </telerik:GridBoundColumn>
                <telerik:GridHyperLinkColumn DataNavigateUrlFields="Web" DataNavigateUrlFormatString="{0}" DataTextField="Web"
                    HeaderText="Web" UniqueName="Web" Target="_blank" Groupable="false" AllowFiltering="false">
                </telerik:GridHyperLinkColumn>
                <telerik:GridBoundColumn DataField="Group.Name" HeaderText="Group" UniqueName="Group">
                </telerik:GridBoundColumn>
                <telerik:GridBoundColumn HeaderText="ActiveGroup" DataField="Group.IsActive" UniqueName="ActiveGroup" Visible="false">
                </telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="AccountManager.FullName" HeaderText="Acct. Manager" UniqueName="AccountManager">
                </telerik:GridBoundColumn>
                <telerik:GridBoundColumn HeaderText="ActiveAcctMgr" DataField="AccountManager.IsActive" UniqueName="ActiveAcctMgr" Visible="false">
                </telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="SIC.Description" HeaderText="SIC" UniqueName="SIC">
                </telerik:GridBoundColumn>
                <telerik:GridBoundColumn HeaderText="ActiveSIC" DataField="SIC.IsActive" UniqueName="ActiveSIC" Visible="false">
                </telerik:GridBoundColumn>
                <telerik:GridCheckBoxColumn DataField="IsProspect" HeaderText="Prospect" UniqueName="IsProspect">
                </telerik:GridCheckBoxColumn>
                <telerik:GridButtonColumn ButtonType="ImageButton" Reorderable="False"
                    Resizable="False" ShowFilterIcon="False" ShowSortIcon="False"
                    UniqueName="DeleteButton" ImageUrl="~/Images/Delete.png" CommandName="Delete"
                    ConfirmDialogType="RadWindow" ConfirmText="Are you sure you want to delete this record?" ConfirmTitle="Delete record..."
                    ConfirmDialogHeight="130px">
                    <ItemStyle Width="20px" HorizontalAlign="Center" VerticalAlign="Middle" />
                </telerik:GridButtonColumn>
            </Columns>
 
        </MasterTableView>
 
        <PagerStyle Mode="NextPrevAndNumeric" Position="Bottom" />
 
        <HeaderContextMenu EnableImageSprites="True" CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu>
 
    </telerik:RadGrid>
 
    <p class="submitButton">
        <telerik:RadButton ID="ToExcelButton" runat="server" Icon-PrimaryIconUrl="~/Images/Save.png" Text="Save" Width="75px"
            onclick="ToExcelButton_Click">
        </telerik:RadButton>
    </p>
 
</asp:Content>

Excel file is generated but with <Row></Row> tags empty.
I'm using Q2 grid.
Regards
Jose

1 Answer, 1 is accepted

Sort by
0
Daniel
Telerik team
answered on 19 Jul 2011, 09:48 PM
Hello Jose,

Please try to enable UseAllDataFields property as explained in the ExcelML help topic:
<MasterTableView UseAllDataFields="true"....

ExcelML basics

I hope this helps.

Kind regards,
Daniel
the Telerik team

Register for the Q2 2011 What's New Webinar Week. Mark your calendar for the week starting July 18th and book your seat for a walk through of all the exciting stuff we will ship with the new release!

Tags
Grid
Asked by
Jose
Top achievements
Rank 2
Answers by
Daniel
Telerik team
Share this question
or