【问题标题】:Change Code From Microsoft Interop To EPPlus将代码从 Microsoft Interop 更改为 EPPlus
【发布时间】:2015-10-20 23:07:09
【问题描述】:

我创建了一组代码来使用 Microsoft Interop 将图像从我的 Image 文件夹导出到 Excel,现在我想将我的代码从 Microsoft Interop 更改为 EPPlus

有人可以帮我解决这个问题吗?

这是我的代码:

Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();
    Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add(Type.Missing);

    string[] filesindirectory = Directory.GetFiles(Server.MapPath("~/Image"));
    int count = 0;
    foreach (string img in filesindirectory)
    {
        count++;
        Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets.Add();
        System.Web.UI.WebControls.Image TEST_IMAGE = new System.Web.UI.WebControls.Image();
        worksheet.Name = "Title- " + count;
        TEST_IMAGE.ImageUrl = "Image/" + Path.GetFileName(img);
        TEST_IMAGE.ImageUrl = this.GetAbsoluteUrl(TEST_IMAGE.ImageUrl);
        worksheet.Shapes.AddPicture(TEST_IMAGE.ImageUrl, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 50, 50, 300, 300);
    }
    workbook.Worksheets["Sheet1"].Delete();
    workbook.Worksheets["Sheet2"].Delete();
    workbook.Worksheets["Sheet3"].Delete();
    workbook.SaveAs(@"C:\Users\user\Desktop\Test\" + datetime.ToString("dd-MM-yyyy_hh-mm-ss") + ".xlsx", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    app.Quit();

谢谢。

【问题讨论】:

    标签: c# asp.net excel image epplus


    【解决方案1】:

    要通过 epplus 将图像读入 excel,您可以以此为例(它还将向您展示如何从头开始设置新工作簿):

    Weird behavior when setting a row's height on EPPlus

    要删除工作表,您可以这样做:

    using (var pack = new ExcelPackage(existingFile))
    {
        var ws = pack.Workbook.Worksheets.Add("sheet1");
        pack.Workbook.Worksheets.Delete(ws);
        ...
    }
    

    但是,如果您只是想在创建新文件时清除 excel 创建的默认工作表,则不需要使用 EPPlus 执行此操作 - 默认情况下,创建新 package(即工作簿)时没有工作表.添加工作表由程序员决定,如果没有至少一个,它将引发错误。

    【讨论】:

      猜你喜欢
      • 2023-03-30
      • 2015-09-22
      • 1970-01-01
      • 1970-01-01
      • 2018-11-18
      • 2021-05-15
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多