/// <summary> /// 向excel添加图片 /// </summary> /// <param name="XlsFilePath"></param> /// <param name="pictureData"></param> /// <param name="sheetName"></param> public static void AddPicture(string XlsFilePath, byte[] pictureData, bool isNewSheet, string sheetName = "PicTure") { FileStream fs = File.OpenRead(XlsFilePath); //IWorkbook workbook = new XSSFWorkbook(fs); NPOI.XSSF.UserModel.XSSFWorkbook book = new NPOI.XSSF.UserModel.XSSFWorkbook(fs); // (NPOI.XSSF.UserModel.XSSFWorkbook)WorkbookFactory.Create(XlsFilePath); fs.Close(); int pictureIdx = book.AddPicture(pictureData, PictureType.JPEG); NPOI.SS.UserModel.ISheet sheet = null; if (!isNewSheet) { sheet = book.GetSheetAt(0); } else { sheet = book.CreateSheet(sheetName); } IDrawing patriarch = sheet.CreateDrawingPatriarch(); NPOI.XSSF.UserModel.XSSFClientAnchor anchor = new NPOI.XSSF.UserModel.XSSFClientAnchor(0, 0, 1023, 0, 0, 0, 1, 3); IPicture pict = patriarch.CreatePicture(anchor, pictureIdx); pict.Resize(); using (FileStream fileStream = File.Open(XlsFilePath, FileMode.OpenOrCreate, FileAccess.ReadWrite)) { book.Write(fileStream); fileStream.Close(); } }