簡體   English   中英

如何從asp.net的gridview中將圖像導出到excel?

[英]how to export images to excel from gridview in asp.net?

我有一個由圖像列組成的ASPxGridView。 當我單擊ExportToPDF時,圖像顯示為pdf。 但是,如果我單擊ExportToXls,則圖像不會顯示在excel中。 問題是什么 ? 我在Visual Studio中使用Devexpress 14.2。 PS = gridview中的圖像大小不同。

 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <table> <tr> <td style="padding-right: 4px"> <dx:ASPxButton ID="btnPdfExport" runat="server" Text="Export to PDF" OnClick="btnPdfExport_Click" /> </td> <td style="padding-right: 4px"> <dx:ASPxButton ID="btnXlsExport" runat="server" Text="Export to XLS" OnClick="btnXlsExport_Click" /> </td> <td style="padding-right: 4px"> <dx:ASPxButton ID="btnXlsxExport" runat="server" Text="Export to XLSX" OnClick="btnXlsxExport_Click" /> </td> <td style="padding-right: 4px"> <dx:ASPxButton ID="btnRtfExport" runat="server" Text="Export to RTF" OnClick="btnRtfExport_Click" /> </td> <td> <dx:ASPxButton ID="btnCsvExport" runat="server" Text="Export to CSV" OnClick="btnCsvExport_Click" /> </td> </tr> </table> <dx:ASPxGridView ID="Grid" runat="server" AutoGenerateColumns="False" DataSourceID="XmlDataSource1"> <Columns> <dx:GridViewDataTextColumn FieldName="Common_Name" Caption="Common name" /> <dx:GridViewDataTextColumn FieldName="Species_Name" Caption="Species name" /> <dx:GridViewDataImageColumn FieldName="ImagePath" Caption="Image"> <PropertiesImage> <ExportImageSettings Width="180" Height="120" /> </PropertiesImage> </dx:GridViewDataImageColumn> </Columns> <SettingsPager PageSize="30" /> </dx:ASPxGridView> <dx:ASPxGridViewExporter ID="GridExporter" runat="server" GridViewID="Grid" OnRenderBrick="GridExporter_RenderBrick" /> <asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Intranet/denemebru/Fishes.xml" /> </form> </body> </html> 

public partial class Intranet_denemebru_RaporDeneme2 : System.Web.UI.Page
{
    protected void GridExporter_RenderBrick(object sender, ASPxGridViewExportRenderingEventArgs e)
    {
        var dataColumn = e.Column as GridViewDataColumn;
        if (dataColumn != null && dataColumn.FieldName == "ImagePath" && e.RowType == GridViewRowType.Data)
            e.ImageValue = GetImageBinaryData(e.Value.ToString());
    }

    protected void btnPdfExport_Click(object sender, EventArgs e)
    {
        GridExporter.WritePdfToResponse();
    }
    protected void btnXlsExport_Click(object sender, EventArgs e)
    {
        GridExporter.WriteXlsToResponse();
    }
    protected void btnXlsxExport_Click(object sender, EventArgs e)
    {
        GridExporter.WriteXlsxToResponse();
    }
        byte[] GetImageBinaryData(string relativePath)
    {
        string path = Server.MapPath(relativePath);
        return File.Exists(path) ? File.ReadAllBytes(path) : null;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM