【发布时间】:2017-11-29 06:38:17
【问题描述】:
我需要使用 EEPlus 将图像嵌入到 Excel 电子表格中。有 1000 行,因此不能将它们嵌入为图片,因为此文件是通过网站生成的,而且文件很大且创建速度很慢。
如果有一种方法可以设置图像的 URL 并在打开文档时加载它,那就太好了。这可能吗?
【问题讨论】:
我需要使用 EEPlus 将图像嵌入到 Excel 电子表格中。有 1000 行,因此不能将它们嵌入为图片,因为此文件是通过网站生成的,而且文件很大且创建速度很慢。
如果有一种方法可以设置图像的 URL 并在打开文档时加载它,那就太好了。这可能吗?
【问题讨论】:
如果你停留在 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 使用宏运行,这可能是一个问题,因为存在安全问题。
【讨论】: