【发布时间】:2016-07-19 13:23:01
【问题描述】:
在这里,我正在将 gridview 导出到 excel,在我的 gridview 中,我有一些图像我也想导出图像。这里我附上了可能的代码。这里我使用的是 EPPlus
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;
}
}
这里我也附上我的数据库表(glines)快照。enter image description here
【问题讨论】: