ASP.NET:将Base64数据导出到Excel

我在ASP.NET中实现了一些网页。

我想导出一个图像(base64数据),以Excel。

这是我的代码片断,它使破碎的Excel文件。

像下面一样


덽NG

IHDR뛬&?IDAT?? ?꾉1?X?铠?IEND췇`


我怎么解决这个问题?

protected void btn_export_Click(object sender, EventArgs e) { string fileName = string.Format("File_{0}.xls", DateTime.Now); // red dot string data = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="; string base64Data = Regex.Match(data, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value; byte[] binData = Convert.FromBase64String(base64Data); using (MemoryStream stream = new MemoryStream(binData)) { // it works well.. System.Drawing.Image image = new Bitmap(stream); image.Save(Server.MapPath("~/Images/file.png")); // Problem is occurred in excel file that make in here Response.Clear(); Response.Buffer = false; Response.AppendHeader("Content-Type", "application/xls"); Response.AppendHeader("Content-Transfer-Encoding", "binary"); Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName); Response.BinaryWrite(stream.ToArray()); Response.End(); } Response.End(); }