2017-11-22 11 views
0

私はASPxGridViewに画像列を構成しました。 ExportToPDFをクリックすると、画像がpdf形式で表示されます。しかし、ExportToXlsをクリックすると、画像はExcelに表示されません。何が問題ですか ? 私は、Visual StudioでDevexpress 14.2を使用しています。 P.P. =グリッドビュー内の画像は異なるサイズです。asp.netの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>

+0

あなたは、クリックする前と後のそれのためのスクリーンショットを共有してくださいすることができます。 –

+0

問題の分析に役立つように、ページマークアップ、コードの後ろ、現在の結果、および/または期待される結果を含む[mcve]を提供してください。 –

+0

申し訳ありませんが、私の質問が更新されます。 –

答えて

0
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; 
    } 
} 
関連する問題