我的radgrid
有image column
。当我以excel
格式导出时,图片显示在excel文件中,但是当我将其导出到csv
文件仅显示image url
而不是image
。是否有将图片嵌入csv
文件?
答案 0 :(得分:0)
很抱歉打破这个,但没有直接的方式以csv格式存储图像文件。但是......有解决方法。我怀疑你会发现它们...... 吸引人的。
希望这会有所帮助。祝你好运!
答案 1 :(得分:0)
CSV 是由逗号分隔的纯文本文件,不支持任何非文本内容。但是,有一个像apollo建议的解决方法,这就是你想要编码的方法。
//Display image and set the alternate text
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
GridDataItem item = (GridDataItem)e.Item;
System.Web.UI.WebControls.Image img = (System.Web.UI.WebControls.Image)item["GridImageColumn"].Controls[0];
//set image url
img.ImageUrl = "~/images/test.png";
/convert image to byte array and get the base64 representation
byte[] imageArray = System.IO.File.ReadAllBytes(Server.MapPath("~/images/test.png"));
string base64ImageRepresentation = Convert.ToBase64String(imageArray);
img.AlternateText = base64ImageRepresentation;
}
}
//Finally export the data
protected void Button1_Click(object sender, EventArgs e)
{
foreach (GridDataItem item in RadGrid1.MasterTableView.Items)
{
System.Web.UI.WebControls.Image img = (System.Web.UI.WebControls.Image)item["GridImageColumn"].Controls[0];
item["GridImageColumn"].Text = img.AlternateText;
}
RadGrid1.MasterTableView.ExportToCSV();
}