Я хочу экспортировать одну таблицу gridview в формат Excel.
Самое простое и быстрое решение, которое я нашел, от Math Berseth
http://mattberseth.com/blog/2007/04/export_gridview_to_excel_1.html
Это решение отлично работает и было принятоклиентомНо теперь, спустя несколько месяцев, была запрошена новая функция: «Просто поместите один логотип с изображением в Excel»
Это меня пугает.Я не могу поместить System.Drawing.Image в System.Web.UI.WebControls.Image, потому что они совершенно разные, но я не могу просто указать путь, потому что сгенерированный Excel будет отправляться по электронной почте.структура каталогов не может быть рассмотрена.
Итак, можно ли поместить изображения, полученные из байтов в Gridview, для экспорта в модель Math или существовать другим способом?
edit ..
Я прошёл ещё несколько шагов, но всё ещё далёк от своей цели.Я могу встраивать изображения в html-файлы, используя String Base64
Что-то вроде:
private string MakeImageSrcData(string filename) {
FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);
byte[] filebytes = new byte[fs.Length];
fs.Read(filebytes, 0, Convert.ToInt32(fs.Length));
return "data:image/png;base64," + Convert.ToBase64String(filebytes, Base64FormattingOptions.None);
}
...
string base64 = MakeImageSrcData("D:\\Proj\\top_title.png");
TableRow tr = new TableRow();
TableCell tc = new TableCell();
Image logoEmpresa = new Image();
logoEmpresa.ImageUrl = base64;
tc.Controls.Add(logoEmpresa);
tr.Cells.Add(tc);
table.Rows.Add(tr);
Это прекрасно работает с IE и FF, но ничего сexcel: /
Я пробовал электронную таблицу xml, но, как MSDN описывает здесь , нет поддержки типа изображения.
Какая-то другая идея?