MVC4:导出qrcode图像到Excel表单
我想用我的表格中的qr-code图像导出excel表格。 qrcode保存与序列号,我生成与谷歌apis。 我在控制器中返回MvcHtmlString
并在我的视图中使用它,如@Html.QRCode(item.SerialNumber, 80, 0)
,它在我的视图中工作良好。
我的控制器
public static MvcHtmlString QRCode(this HtmlHelper htmlHelper, string data, int size = 80, int margin = 4, QRCodeErrorCorrectionLevel errorCorrectionLevel = QRCodeErrorCorrectionLevel.Low, object htmlAttributes = null) { if (data == null) throw new ArgumentNullException("data"); if (size < 1) throw new ArgumentOutOfRangeException("size", size, "Must be greater than zero."); if (margin < 0) throw new ArgumentOutOfRangeException("margin", margin, "Must be greater than or equal to zero."); if (!Enum.IsDefined(typeof(QRCodeErrorCorrectionLevel), errorCorrectionLevel)) throw new InvalidEnumArgumentException("errorCorrectionLevel", (int)errorCorrectionLevel, typeof(QRCodeErrorCorrectionLevel)); var url = string.Format("http://chart.apis.google.com/chart?cht=qr&chld={2}|{3}&chs={0}x{0}&chl={1}", size, HttpUtility.UrlEncode(data), errorCorrectionLevel.ToString()[0], margin); var tag = new TagBuilder("img"); if (htmlAttributes != null) tag.MergeAttributes(new RouteValueDictionary(htmlAttributes)); tag.Attributes.Add("src", url); tag.Attributes.Add("width", size.ToString()); tag.Attributes.Add("height", size.ToString()); return new MvcHtmlString(tag.ToString(TagRenderMode.SelfClosing)); }
要导出Excel表格我做以下几点:
- 创build一个网格
- 给它所需数据的数据源。
我给网格视图的qrcode数据是
data.QRcode = atm.SerialNumber;
它实际上得到了一串qrcode如何获得其代码的qrcode图像,就像我认为我使用的那样
@Html.QRCode(item.SerialNumber, 80, 0)
注:我需要任何解决scheme,可以获得qrcode图像和其他外部数据打印它。
更新:我到达了图像的来源,然后如果任何解决scheme,如何根据图像的来源在Excel表单中显示图像。 详细步骤:1 – 获取图像的链接像谷歌apis
System.Web.UI.WebControls.Image image = new System.Web.UI.WebControls.Image(); image.ImageUrl = url; image.Width = 80; image.Height = 80; atm2.QRcode = image;
但是这个列不会出现在导出的Excel表格中
谢谢你的帮助 。