当前位置: 首页 > news >正文

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args)
{XlsWithObjData();Console.WriteLine("输出完成");
}static void XlsWithObjData()
{// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook = new HSSFWorkbook();HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet("Sheet1");IRow row = sheet.CreateRow(0);ICell cell = row.CreateCell(0);// 读取ZIP文件为字节数组byte[] zipData = File.ReadAllBytes("001.pdf");var imgData = File.ReadAllBytes("001.png");var iconid = workbook.AddPicture(imgData, PictureType.PNG);var pdfIdx = workbook.AddOlePackage(zipData, "222.pdf", "333.pdf", "111.pdf");HSSFPatriarch drawing = (HSSFPatriarch)sheet.CreateDrawingPatriarch();HSSFClientAnchor anchor = (HSSFClientAnchor)drawing.CreateAnchor(0, 0, 0, 0, 1, 1, 0, 0);anchor.AnchorType = AnchorType.MoveAndResize;drawing.CreateObjectData(anchor, pdfIdx, iconid);// 保存文件var fileName = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") + ".xls";FileStream fs = new FileStream(fileName, FileMode.Create);workbook.Write(fs);fs.Close();workbook.Close();
}
//插入图片
static void InsertImg()
{//创建工作簿HSSFWorkbook wk = new HSSFWorkbook();ISheet sheet = wk.CreateSheet("sheet1");//sheet.SetColumnWidth(0, 1);//sheet.AutoSizeColumn(0);//添加内容IRow row = sheet.CreateRow(0);ICell cell = row.CreateCell(0);HSSFRichTextString rich = new HSSFRichTextString("签名:");cell.SetCellValue(rich);//添加图片byte[] bytes = System.IO.File.ReadAllBytes("001.png");int pictureIdx = wk.AddPicture(bytes, PictureType.PNG);HSSFPatriarch patriarch = (HSSFPatriarch)sheet.CreateDrawingPatriarch();//HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 1023, 0, 0, 0, 1, 3);HSSFClientAnchor anchor = new HSSFClientAnchor(223, 0, 0, 0, 0, 0, 1, 1);//设置图片变换类型anchor.AnchorType = AnchorType.MoveDontResize;HSSFPicture pict = (HSSFPicture)patriarch.CreatePicture(anchor, pictureIdx);//pict.Resize(100,50);//保存到文件var fileName = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") +"图片"+ ".xls";FileStream fs = new FileStream(fileName, FileMode.Create);wk.Write(fs);fs.Close();wk.Close();Console.WriteLine("导出数据成功!");
}

参考

https://blog.csdn.net/m0_72440880/article/details/137240571

http://www.xdnf.cn/news/923221.html

相关文章:

  • 元器件基础学习笔记——结型场效应晶体管 (JFET)
  • 实战二:开发网页端界面完成黑白视频转为彩色视频
  • 15-Oracle 23ai Vector Search Similarity Search-向量相似性和混合搜索-实操
  • Golang——10、日志处理和正则处理
  • 自制操作系统(五、重写引导部分和C语言的使用)
  • 【数据结构】详解算法复杂度:时间复杂度和空间复杂度
  • 【论文解读】DeepSeek-R1
  • 一款“短小精悍的”手机录屏软件
  • 【C++】类型转换
  • 抖音怎么下载视频?抖音怎么无水印下载别人的视频
  • 蓝凌的流程引擎队列分发器
  • Python whl安装包简介与制作完全指南
  • 【优选算法】前缀和
  • Windows 下端口占用排查与释放全攻略
  • LeetCode-413. 等差数列划分
  • Go深入学习延迟语句
  • 【QT】输入类控件 详解
  • 嵌入式里的时间魔法:RTC 与 BKP 深度拆解
  • 数据通信基础
  • 迷宫问题(一)(C++版本)
  • @ExceptionHandler 默认无法拦截 Aspect(切面)中抛出的异常
  • centos7编译安装LNMP架构
  • docker安装RabbitMQ
  • 一些因子的解释
  • 人工智能--AI换脸
  • iview框架主题色的应用
  • WebWorker-----高频面试题(浏览器篇)
  • 【每天一道算法题】用JavaScript实现的字符串比较算法
  • 【云架构】
  • 后端下载限速(redis记录实时并发,bucket4j动态限速)