Это возможно в три этапа. Во-первых, вы должны вставить изображение. Во-вторых, добавить ClientAnchor к файлу, чтобы разместить изображение в некоторых ячейках. В-третьих, изменить размер изображения хитрым способом, иначе трудно создать изображение внутри ячейки.

ользуюnpoi для создания документов Excel. У меня есть требование добавить изображения в ячейки. Используя следующий код, я могу вставить изображения в свой документ. Однако изображение охватывает много ячеек. Как я могу гарантировать, что изображение просто помещается внутри одной ячейки.

public ActionResult NPOICreate()
{
    try
    {
        FileStream fs = new FileStream(Server.MapPath(@"\Content\NPOITemplate.xls"), FileMode.Open, FileAccess.ReadWrite);
        HSSFWorkbook templateWorkbook = new HSSFWorkbook(fs, true);
        var sheet = templateWorkbook.GetSheet("Sheet1");
        var patriarch = sheet.CreateDrawingPatriarch();
        HSSFClientAnchor anchor;
        anchor = new HSSFClientAnchor(0, 0, 0, 0, (short)4, 2, (short)6, 5);
        anchor.AnchorType = 2;
        var picture = patriarch.CreatePicture(anchor, LoadImage(@"D:\dev\Website/HumpbackWhale.jpg", templateWorkbook));
        picture.Resize();
        picture.LineStyle = HSSFPicture.LINESTYLE_DASHDOTGEL;
        sheet.ForceFormulaRecalculation = true;
        MemoryStream ms = new MemoryStream();
        templateWorkbook.Write(ms);
        TempData["Message"] = "Excel report created successfully!";
        return File(ms.ToArray(), "application/vnd.ms-excel", "NPOINewFile.xls");
    }
    catch (Exception ex)
    {
        TempData["Message"] = "Oops! Something went wrong.";

        return RedirectToAction("NPOI");
    }

}

Ответы на вопрос(3)

Ваш ответ на вопрос