3

私のasp.netアプリケーションは、グリッドビューデータをExcelファイルにエクスポートします。ただし、グリッドビューの値が表示される前に、顧客情報も入力する必要があります。

gvCustomerPayment.DataSource = ViewState["data"];
gvCustomerPayment.AllowPaging = false;
gvCustomerPayment.DataBind();

gvCustomerPayment.RenderControl(hw);
gvCustomerPayment.Rows[2].Cells[0].Text = Convert.ToString("Customer Name: " + dr["FirstName"] + dr["LastName"]);  

gridview データは完全に正常に表示されます。コード ブロックの最後の行Convert.ToString("Customer Name:"); セル A2 にある必要があります (下の画像の赤い部分を参照)。

ここに画像の説明を入力

S/O と google を検索しましたが、何も役に立ちません。助言がありますか?

4

2 に答える 2

0

すべての詳細がエクスポートされる div にコントロールを配置します。div を Excel にエクスポートします。

aspxファイルを次のようにします

  <div id="divExport" runat="server">
    <div id="dvheads" runat="server">
        <b>
          <label id="lblCustomerName" runat="server"></label><br /><br />
          <label id="lblAddress" runat="server"></label><br /><br />
          <label id="lblPin" runat="server"></label>
            </b>
    </div>
        <br />

        <asp:GridView ID="GVLoans" runat="server" CellPadding="4" ForeColor="#333333"  AutoGenerateColumns="False" >
            <AlternatingRowStyle BackColor="White" />
            <EditRowStyle BackColor="#2461BF" />
            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
            <RowStyle BackColor="#EFF3FB" HorizontalAlign="left" />
            <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
            <SortedAscendingCellStyle BackColor="#F5F7FB" />
            <SortedAscendingHeaderStyle BackColor="#6D95E1" />
            <SortedDescendingCellStyle BackColor="#E9EBEF" />
            <SortedDescendingHeaderStyle BackColor="#4870BE" />
            <Columns>
                <asp:TemplateField>
            <HeaderTemplate>Sl No</HeaderTemplate>
            <ItemTemplate>
            <asp:Label ID="lblSRNO" runat="server" 
                Text='<%#Container.DataItemIndex+1 %>'></asp:Label>
            </ItemTemplate>
                    <ItemStyle HorizontalAlign="Center" />
            </asp:TemplateField>
            </Columns>
        </asp:GridView>

        <br />
        </div>

.cs ファイルでは、エクスポート用のコードは次のようになります

 protected void btnSave_Click(object sender, EventArgs e)
 {
    Response.Clear();
    Response.AddHeader("content-isposition",attachment;filename=testExport.xls");
    Response.Charset = "";
    Response.ContentType = "application/vnd.xls";
    System.IO.StringWriter stringWrite = new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
    divExport.RenderControl(htmlWrite);
    Response.Write(stringWrite.ToString());
    Response.End();
 }
于 2015-07-31T09:28:58.483 に答える