0
Hier exportiere ich Gridview zu Excel, in meiner Gridview habe ich einige Bilder, die ich auch Bilder exportieren möchte. hier verwende ich EPPlusWie exportiere ich Bilder aus Gridview?
var products = GetProducts();
gvDetails.DataSource = products;
gvDetails.DataBind();
ExcelPackage excel = new ExcelPackage();
var workSheet = excel.Workbook.Worksheets.Add("Products");
var totalCols = gvDetails.Rows[0].Cells.Count;
var totalRows = gvDetails.Rows.Count;
var headerRow = gvDetails.HeaderRow;
for (var col = 1; col <= totalCols; col++)
{
workSheet.Cells[1, col].Value = products.Columns[col - 1].ColumnName;
}
for (var row = 1; row <= totalRows; row++)
{
for (var col = 0; col < totalCols; col++)
{
workSheet.Cells[row + 1, col + 1].Value = products.Rows[row - 1][col];
}
}
using (var memoryStream = new MemoryStream())
{
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment; filename=products.xlsx");
excel.SaveAs(memoryStream);
memoryStream.WriteTo(Response.OutputStream);
Response.Flush();
Response.End();
}
public DataTable GetProducts()
{
using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString))
using (var cmd = new SqlCommand("SELECT * FROM Glines", conn))
using (var adapter = new SqlDataAdapter(cmd))
{
var products = new DataTable();
adapter.Fill(products);
return products;
}
}
Hier bin ich meine Datenbanktabelle (glines) Snap auch anhängen. Hier enter image description here
i obigen Code versucht. Es ist erfolgreich für mich gearbeitet. Aber die generierte Excel-Datei sollte nicht im richtigen Format sein. und das Bild ist sehr groß im Dokument, also versuche ich mit dem obigen Code. –
ok .. vergewissern Sie sich, wenn es funktioniert;) –