[英]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.