范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

干货Excel中插入图片的两种方式

  背景 业务中,客户需要导出各种数据统计报表,如果客户要求,我希望导出的报表中能插入这些数据的统计图表该如何操作,如图:
  传统POI     org.apache.poi     poi-ooxml     4.1.2 package com.test.other.demo.report;  import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; import org.apache.poi.util.IOUtils; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.junit.platform.commons.util.StringUtils;  import java.io.*;  /**  * POI 往excel插入图片  */ public class POIExport {      private Workbook workbook;      public static void main(String[] args) throws Exception {         Workbook workbook = getWorkBook("/Users/hui.yang/Desktop/excel演示/poi/演示1.xlsx");         Sheet sheet = workbook.getSheet("sheet1");         InputStream inputStream = new FileInputStream("/Users/hui.yang/Desktop/excel演示/poi/演示图表1.png");         byte[] bytes = IOUtils.toByteArray(inputStream);         // 这里根据实际需求选择图片类型         int pictureIdx = workbook.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG);         CreationHelper helper = workbook.getCreationHelper();         ClientAnchor anchor = helper.createClientAnchor();         Drawing drawing = sheet.createDrawingPatriarch();         anchor.setRow1(10); //插入行         anchor.setCol1(0); // 插入列         // 插入图片         Picture pict = drawing.createPicture(anchor, pictureIdx);         // 调整图片占单元格百分比的大小,1.0就是100%         pict.resize(8, 5);         //临时缓冲区         ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();         //创建临时文件         try {             workbook.write(byteArrayOut);         } catch (IOException e) {             e.printStackTrace();         } finally {             workbook.close();         }         byte[] bookByteAry = byteArrayOut.toByteArray();         File file = new File("/Users/hui.yang/Desktop/excel演示/poi/演示插入结果.xlsx");         if (!file.getParentFile().exists()) {             file.getParentFile().mkdirs();         }         if (!file.exists()) {             file.createNewFile();         }         FileOutputStream fos = new FileOutputStream(file);         fos.write(bookByteAry, 0, bookByteAry.length);         fos.flush();         fos.close();     }      /**      * 获取workBoot 兼容xlsx xls      */     public static Workbook getWorkBook(String filePath) throws Exception {         Workbook workbook = null;         if (StringUtils.isBlank(filePath)) {             // throw new RuntimeException("路径错误!");         } else if (filePath.toLowerCase().endsWith("xls")) {             workbook = new HSSFWorkbook(new FileInputStream(filePath));         } else if (filePath.toLowerCase().endsWith("xlsx")) {             workbook = new XSSFWorkbook(new FileInputStream(filePath));         } else {             //   throw new RuntimeException("路径错误!");         }         return workbook;     } }
  e-iceblue(推荐)     e-iceblue     spire.xls.free     5.1.0 package com.test.other.demo.report;   import com.spire.xls.*;  /**  * e-iceblue 往excel插入图片  */ public class EiceBlueExport {      public static void main(String[] args) {          //创建Workbook实例         Workbook workbook = new Workbook();         //加载Excel文档         workbook.loadFromFile("/Users/hui.yang/Desktop/excel演示/e-iceblue/演示1.xlsx");         //获取第一张工作表         Worksheet sheet = workbook.getWorksheets().get(0);         //设置图表插入的位置         ExcelPicture pic = sheet.getPictures().add(10, 1, "/Users/hui.yang/Desktop/excel演示/e-iceblue/演示图表1.png");         //设置图片的宽度和高度         pic.setWidth(600);         pic.setHeight(120);         //保存文档         workbook.saveToFile("/Users/hui.yang/Desktop/excel演示/e-iceblue/演示插入结果.xlsx", ExcelVersion.Version2013);         //文档转pdf         transFileToPdf("/Users/hui.yang/Desktop/excel演示/e-iceblue/庞源在线-安全-安全周报-20230303130801.xlsx");     }      /**      * 转pdf      */     public static void transFileToPdf(String fillPath) {         Workbook wb = new Workbook();         wb.loadFromFile(fillPath);         wb.getWorksheets().get(0);         ConverterSetting converterSetting = new ConverterSetting();         converterSetting.setSheetFitToPage(true);         wb.setConverterSetting(converterSetting);         //调用方法保存为PDF格式         wb.saveToFile("/Users/hui.yang/Desktop/excel演示/e-iceblue/庞源在线-安全-安全周报-20230303130801.pdf", FileFormat.PDF);     }  }
  方案对比1 poi对xlxs xls不同版本有不同的语法,需要单独写个方法去获取WorkBook,而e-iceblue直接封装好方法,傻瓜式操作 2 poi需设置图片类型,文件流操作,而e-iceblue直接封装好方法,傻瓜式操作 3 e-iceblue有丰富的文档转换工具,如转为PDF,如以上代码,我这边转换的pdf,看了下再也不用在***网站转pdf了,   骚的一批,当然也封装了其他文档转换,这里不赘述

ampampamp甘孜霸气网红局长刘洪,你们家的这家旅店早就有问题哦,咋整?近日,四川甘孜州,有网友在短视频平台投诉康定一酒店,引发社会关注。目前,涉事酒店已停业,当地网红局长刘洪一怒撂下狠话谁砸了我们甘孜旅游的锅,我一定砸了你的饭碗。在此,必须给刘局长大CBA威姆斯战旧主表现糟糕广东男篮主场打出强势表现3月1日,CBA联赛第三阶段正式开打。由于第三阶段在时隔三年后重新恢复了主客场,因而这个阶段比赛受到外界很大关注。当日,广东男篮主场迎战山西男篮的比赛是焦点战。这场比赛是山西男篮外知天命之年,继续野蛮成长知天命之年,继续野蛮成长文钱黎洁去年,某小妮跟我说一件事。那天她和娃爸讨论孩子的事,有迷惘有争论更有相互安抚。娃爸突然说,感觉钱钱真的不容易,咱有事还能商量,互相提供情绪价值,可她哈里伯顿3276步行者力克独行侠!东契奇399NBA常规赛3月1日继续进行,最终,步行者以124122战胜独行侠。首节开始,特纳上来就连拿8分帮助步行者139稍稍领先。欧文和东契奇迅速合力打出113反超比分。随后双方你来我往连深夜23点!新疆队宣布退出CBA将矛头指向3人随着时间的推移,新疆队会不会退出CBA联赛,可以说是引起了很多球迷关注,在昨天深夜23点30分,新疆队通过个人网络平台,正式宣布退出本赛季的比赛,CBA联赛!至于球队为何会退出CB开春第一波大爆发,严重的还会引起白肺!?4岁前的娃更易感染编辑部的宝妈们最近都收到了老师关于流感的通知,大家是不是也收到了呢?甲流可以说是最近的顶流了,各大平台在刷屏而且最新的消息有称甲流会引起白肺!据国是直通车报道上海市肺科医院呼吸内科计划生育政策是我国有史以来最好的政策,是对妇女最大的解放没有计划生育的时候,中国女性平均都生五六个孩子,有的女性都生七八个孩子,由于孩子生的多,女性几乎一生都在为孩子服务,女性在生孩子养孩子的过程中遭受了很多痛苦挨了很多累吃了很多苦也操甲流高发期,中招后别大意,牢记4不做3不吃,过来人的经验从前两周左右的时间开始,网上关于甲流的新闻便越来越频繁,身边的朋友和亲戚也经常会聊起来,有几个朋友的孩子已经中招,不得不请假在家恢复身体。前几天,我家的宝宝也不幸中招,高烧40度左微软强推新必应Win11搜索栏新增入口,可直接唤起聊天机器人新版必应将出现在Windows11的搜索栏中。当地时间2月28日,微软首席产品官帕诺斯帕奈(PanosPanay)发布更新公告称,在Windows最新推送的更新中,集成ChatGP杜锋谈华南虎回家兴奋的感觉从集训时就有了时隔1138天,广东宏远队再次回到主场东莞篮球中心,在现场球迷的助威下征战赛场,球队上下都很兴奋。主帅杜锋透露,这种兴奋的感觉从集训时就有了。开场之后,广东队球员争相送出精彩表演,果粉与华为粉的斗争2003年7月,华为技术有限公司成立手机业务部,2004年华为第一款手机华为A616上市。2004年2月,华为作为中国第一款WCDMA手机参加法国戛纳3GSM大会并现场演示。华为A
为何科技发达的日本,手机却无人问津?这背后的原因很现实?大家好我是小马随这科技水平的不断进步手机的功能也越来越多越来越智能现在手机也是我们生活必不可少的一个工具我国手机现在的品牌也有很多像国民手机品牌,老大华为还有OPPOVIVO等但是全球新的利润王超过苹果巴菲特公司,一年净赚超过7000亿8月3日,2022年财富世界500强正式出炉。今年500家上榜企业总营业收入达到37。8万亿美元,净利润总和3。1万亿美元,均创下历史新高,同比分别大涨19。2(该榜单有史以来最大机器人行业深度研究技术迭代需求爆发,机器人行业开启新时代(报告出品方作者中信证券,刘海博,李睿鹏)核心观点行业概况机器人行业处于快速成长期,中国有望引领全球行业发展。2021年,全球中国机器人行业规模为336124亿美元,5年CAGR为微信支付时你扫我和我扫你有什么区别?看完你就明白了本文编辑今日头条作者维权骑士签约用户小俊技术分享独家原创制作未经授权严禁转载,发现抄袭者将进行全网维权投诉分享生活小妙招,享受科技新生活!大家好,欢迎来到今天的知识分享!我是你们的资深OPPO用户教你玩转ColorOS,学会这几个生产力Max不是梦绝大多数人在买手机的时候只知道看外观选配置,但其实系统也是影响日常使用的核心要诀之一,甚至是最重要的一点。这方面国产阵营近几年进步显而易见,不论是从系统的美观性流畅度还是耐用性等方新车芯片电池供应不足!几何EX3功夫牛停止接单,给几何E让位?文懂车帝原创陈旭明几何EX3丨功夫牛停止接单懂车帝原创产品近日,几何汽车宣布,因芯片供应电池供应等影响,为避免触及用户购车用车利益,EX3丨功夫牛于2022年8月起正式停止接单。已国产替代刻不容缓,6家被低估华为海思概念企业或将迎来高光华为海思概念股是什么意思?海思是华为旗下的的芯片公司,华为海思概念股是指从事芯片研发生产的相关上市公司的股票,并且与华为有关联的。因为海思是华为旗下的芯片公司,产品覆盖无线网络固定来了!詹姆斯后继有人,父子三人同框训练,小儿子天赋惊艳詹姆斯不曾老去上赛季无缘季后赛,但是洛杉矶湖人依旧相信,勒布朗詹姆斯能够带领球队重新回到夺冠热门的行列。在这个休赛期,湖人让自己的阵容更加年轻化,虽然没有送走拉塞尔威斯布鲁克,但是化妆品会引起肾病吗?如何防治?如何正确选择化妆品?美丽动人是女明星女模特职场丽人及各行各业众多女性的追求,为了爱美很多女性使用了一些美白类的化妆品,然而,长期使用美白类的化妆品可能会导致一些疾病的发生,近年来,陆续有报道因使用美白休闲手游市场增长放缓,开发者怎样才能突破产能困局?7月,游戏工委发布了游戏行业2022年的年中成绩,从直观的数据上来看,今年各大游戏赛道的表现平平,休闲赛道也不例外。2022年上半年,中国休闲手游收入169。68亿元,仅同比增长了发育路射手哪家强?大唐神探狄仁杰!详细解析哈喽大家好,欢迎收看本期内容!在7。29日的更新中,射手一哥后羿也是遭到了削弱,降低了前期一技能的输出伤害和全等级攻击力提升降低。使的后羿在前期的强度有所降温,经过这一改动,狄仁杰