我需要使用EEPlus将图像嵌入到Excel电子表格中。有1000个行,所以将这些作为图片嵌入不是一个选项,因为这个文件是通过网站生成的,文件很大而且创建起来很慢。
如果有一种方法可以设置图像的URL并在打开文档时加载它,那就太好了。这可能吗?
答案 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与宏一起运行,这可能是一个问题,因为存在安全问题。