是否可以创建一个将通过URL加载EPPlus的图像?

时间:2017-11-28 21:20:15

标签: epplus epplus-4

我需要使用EEPlus将图像嵌入到Excel电子表格中。有1000个行,所以将这些作为图片嵌入不是一个选项,因为这个文件是通过网站生成的,文件很大而且创建起来很慢。

如果有一种方法可以设置图像的URL并在打开文档时加载它,那就太好了。这可能吗?

1 个答案:

答案 0 :(得分:1)

如果你处于excel的范围内,我能想到的唯一方法就是使用vba这样的东西:

How to get images to appear in Excel given image url

然后可以将其自身重新保存为非宏工作簿。像这样:

//add the macro to call sub that applies the url on open
workbook.Worksheets.Add("newworksheet");

var sb = new StringBuilder();
sb.AppendLine("Private Sub Workbook_SheetCalculate(ByVal Sh As Object)");
sb.AppendLine("    ApplyUrlsSub");
sb.AppendLine("    Application.DisplayAlerts = False");
sb.AppendLine(String.Format("    ActiveWorkbook.SaveAs \"{0}\", xlOpenXMLWorkbook", file.FullName.Replace("xlsm", "xlsx")));
sb.AppendLine("    Application.DisplayAlerts = True");
sb.AppendLine("End Sub");

pck.Workbook.CreateVBAProject();
pck.Workbook.CodeModule.Code = sb.ToString();

(摘自:EPPlus Pivot Table - Copy Values to New Sheet

但是用户仍然需要启用允许初始xlsm与宏一起运行,这可能是一个问题,因为存在安全问题。