首页 > 解决方案 > EPPlus 的 Workbook.Add(object) 的变体

问题描述

我们正在尝试放弃使用 Microsoft 的 Interop Excel 依赖项并切换到 EPPlus,但是我遇到了一个问题,我似乎无法找到 Interop 的 Workbook.Add(object) 的替代品,而是在 EPPlus 中找到它似乎您只能将文件用作模板而不是对象:

https://msdn.microsoft.com/library/microsoft.office.interop.excel.workbooks.add.aspx

标签: c#excel

解决方案


如果可以使用实际 Excel 文件的内存表示形式,则可以加载流。例如,我将 Excel 模板作为嵌入式资源存储在 DLL 中,然后以这种方式实例化 ExcelPackage:

ExcelPackage LoadCalculationsPackage()
{
    Assembly assembly = typeof(ExcelService).GetTypeInfo().Assembly;
    using (Stream s = assembly.GetManifestResourceStream(EXCEL_TEMPLATE_RESOURCE))
    {
        return new ExcelPackage(new MemoryStream(), s);
    }
}

您可以使用完全空的 Excel 文件来执行此操作。


推荐阅读