2015-10-14 57 views
0

我有一个网页形式的网格视图,其中包含图像调整大小为40X40像素,但是当我导出的网格视图出色的图像返回到那里原始大小如何我可以出口的网格视图到Excel与图像调整为我的期望尺寸asp.net:export gridview与图像excell

这是出口代码我使用

Try 
GridView2.AllowPaging = False 

Response.Clear() 
Response.AddHeader("content-disposition", "attachment;filename=ComputerParts.xls") 
Response.ContentType = "application/ms-excel" 
Response.ContentEncoding = System.Text.Encoding.Unicode 
Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble()) 

Dim sw As System.IO.StringWriter = New System.IO.StringWriter() 
Dim hw As System.Web.UI.HtmlTextWriter = New HtmlTextWriter(sw) 

txtSelectedComputer.RenderControl(hw) 
txtEmployeeName.RenderControl(hw) 
GridView2.RenderControl(hw) 

Response.Write(sw.ToString()) 
Response.End() 

GridView2.AllowPaging = True 

抓住前作为SQLEXCEPTION Masterlbl1.Text = GeneralFuctions.interpret_error_number(ex.Number) 抓住前作为异常 Masterlbl2。 Text =“حدثخطأغيرمتوقع。مصدرال طأ:” & ex.Source.ToString 结束Try

回答

0

我没有看到HTML输出,所以我不能确定你如何在GridView控件定义图像的宽度和高度。因此,我做了一个简单的实验并得到了一个有趣的结果。

我的Excel是2007年。我用记事本编写了一个简单的HTML页面,其中包含一个表格。然后我把以下标记的图像:

<img src="test.png" style="width=10px; height: 10px"> 

该图像将在Excel中保持实际大小。

但它会与下面的标签收缩:

<img src="test.png" width="10" height="10"> 

我认为Excel中使用的旧fasioned HTML解析器来显示内容。如果使用ASP.NET的Image控件,它将生成带有style属性的HTML。也许你会需要一些解决方法来改变输出。我不知道你使用的是什么版本的Excel。我希望这个结果会有所帮助。

+0

有趣的是,你是对的。但是我们如何修改导出代码以更好地完成任务 –

+0

您可以在Image控件的Attributes属性中添加一个条目。恩。 myImage.Attributes.Add(“width”,“10”)。最好你可以让这个语句只在导出到Excel时执行。 – hexaium

+0

该属性在我的webform中以正确的语法正确设置,但导出代码以新方式自动生成,并且excel只理解旧方式 –