Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC4:将qrcode图像导出到excel工作表_C#_Asp.net_Excel_Asp.net Mvc 3_Asp.net Mvc 4 - Fatal编程技术网

C# MVC4:将qrcode图像导出到excel工作表

C# MVC4:将qrcode图像导出到excel工作表,c#,asp.net,excel,asp.net-mvc-3,asp.net-mvc-4,C#,Asp.net,Excel,Asp.net Mvc 3,Asp.net Mvc 4,我想导出表格中带有二维码图像的excel表格。qrcode是用序列号保存的,我用GoogleAPI生成它。我在返回MvcHtmlString的控制器中执行它,并在视图中使用它,就像@Html.QRCode(item.SerialNumber,80,0) 在我看来,这很有效 我的控制器 public static MvcHtmlString QRCode(this HtmlHelper htmlHelper, string data, int size = 80, int margin = 4

我想导出表格中带有二维码图像的excel表格。qrcode是用序列号保存的,我用GoogleAPI生成它。我在返回
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工作表中


谢谢您的帮助。

您是否尝试过对图像进行base64编码?不,因为我无法将字符串转换为qr码,所以我在控制器中使用它作为视图中的标记,但我不知道如何在控制器中使用它。您的帖子并不完全清楚。你的实际问题是什么?我可以像google API一样获取字符串url,但我尝试将其作为图像保存并显示在excel工作表中,然后尝试将qrcode的数据类型更改为image,并使用wirte
image.ImageUrl=url;//解析url(url);图像宽度=80;图像。高度=80;atm2.QRcode=图像但它不工作我不知道你的“atm2.QRCode”业务是什么,但如果你做Image=newimage(),它应该可以工作;image.ImageUrl=;我猜你的另一个代码/控件是乱七八糟的。您可以将图像标记导出到excel
System.Web.UI.WebControls.Image image = new System.Web.UI.WebControls.Image();

            image.ImageUrl = url;
            image.Width = 80;
            image.Height = 80;
            atm2.QRcode = image;