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

绵阳网站建设制作湛江企业自助建站系统

绵阳网站建设制作,湛江企业自助建站系统,欧美seo查询,建立网站的步骤是什么概述 业务中经常会遇到在单元格内填充图片的需求,而且要求指定图片在单元格内的位置。 一般都是用的apache的poi,设置图片坐标。 HSSFClientAnchor(int dx1, int dy1, int dx2, int dy2, short col1, int row1, short col2, int row2)dx1 dy1 起始单元…

概述

业务中经常会遇到在单元格内填充图片的需求,而且要求指定图片在单元格内的位置。

一般都是用的apache的poi,设置图片坐标。

HSSFClientAnchor(int dx1, int dy1, int dx2, int dy2, short col1, int row1, short col2, int row2)

dx1 dy1 起始单元格中的x,y坐标.

dx2 dy2 结束单元格中的x,y坐标

col1,row1 指定起始的单元格,下标从0开始

col2,row2 指定结束的单元格 ,下标从0开始

在这里插入图片描述

在这里插入图片描述

demo

public static void main(String[] args) {byte[] imgBytes = ResourceUtil.readBytes("test.jpg");// 创建一个 ExcelWriterExcelWriter writer = ExcelUtil.getWriter("output.xlsx");// 获取 sheet 对象Sheet sheet = writer.getWorkbook().getSheetAt(0);int rowNum = 0; // 假设图片插入在第一行int colNum = 0; // 假设图片插入在第一列// 在指定的单元格内插入图片insertImagesToCell(sheet, rowNum, colNum, imgBytes);// 保存到文件writer.flush();
}private static void insertImagesToCell(Sheet sheet, int rowNum, int colNum, byte[] imageBytes) {// 获取 Excel 的工作簿并添加图片Workbook workbook = sheet.getWorkbook();// 获取 Drawing 对象Drawing drawing = sheet.getDrawingPatriarch();if (drawing == null) {drawing = sheet.createDrawingPatriarch();}// 创建 Excel 的行和列Row row = sheet.getRow(rowNum);if (row == null) {row = sheet.createRow(rowNum);}//创建单元格Cell cell = row.createCell(colNum);int pictureIdx = workbook.addPicture(imageBytes, Workbook.PICTURE_TYPE_JPEG);// 创建图片的定位点XSSFClientAnchor anchor = new XSSFClientAnchor();//图片起始列anchor.setCol1(colNum);//图片起始行anchor.setRow1(rowNum);//图片结束列anchor.setCol2(colNum + 1);//图片结束行anchor.setRow2(rowNum + 1);//图片左上角在开始单元格中的X坐标;>0向右;<0向左(有点类似html页面中的padding)anchor.setDx1(Units.EMU_PER_PIXEL * 100);//图片左上角在开始单元格中的Y坐标;>0向下;<0向上(有点类似html页面中的padding)anchor.setDy1(Units.EMU_PER_PIXEL *(100));//图片右下角在结束单元格中的X坐标;>0向右;<0向左anchor.setDx2(Units.EMU_PER_PIXEL *(-100));//图片右下角在结束单元格中的Y坐标;>0向下;<0向上anchor.setDy2(Units.EMU_PER_PIXEL *(-100));anchor.setAnchorType(ClientAnchor.AnchorType.MOVE_AND_RESIZE);// 创建并设置图片drawing.createPicture(anchor, pictureIdx);
}

效果图
在这里插入图片描述

填充多张图片demo
填充多张图片,且开始单元格和结束单元格为同一个单元格

public static void main(String[] args) {byte[] imgBytes = ResourceUtil.readBytes("test.jpg");// 创建一个 ExcelWriterExcelWriter writer = ExcelUtil.getWriter("output.xlsx");// 获取 sheet 对象Sheet sheet = writer.getWorkbook().getSheetAt(0);int rowNum = 0; // 假设图片插入在第一行int colNum = 0; // 假设图片插入在第一列// 在指定的单元格内插入图片insertImagesToCell(sheet, rowNum, colNum, imgBytes);// 保存到文件writer.flush();
}private static void insertImagesToCell(Sheet sheet, int rowNum, int colNum, byte[] imageBytes) {// 获取 Excel 的工作簿并添加图片Workbook workbook = sheet.getWorkbook();// 创建 Excel 的行和列Row row = sheet.getRow(rowNum);if (row == null) {row = sheet.createRow(rowNum);}//创建单元格Cell cell = row.createCell(colNum);// 边距int padding = Units.toEMU(20);// 计算每张图片的宽度和位置int numImages = 5;// 获取 Drawing 对象Drawing drawing = sheet.getDrawingPatriarch();if (drawing == null) {drawing = sheet.createDrawingPatriarch();}//上一张图片的左上角X坐标int preDx1 = 0;//上一张图片的右下角X坐标int preDx2 = 0;//图片宽度int defaultImgWidth = Units.toEMU(80);//图片高度;图片右下角相对结束单元格的y高度int defaultImgHeight = Units.toEMU(100);for (int i = 0; i < numImages; i++) {int pictureIdx = workbook.addPicture(imageBytes, Workbook.PICTURE_TYPE_JPEG);// 创建图片的定位点XSSFClientAnchor anchor = new XSSFClientAnchor();//图片起始列anchor.setCol1(colNum);//图片起始行anchor.setRow1(rowNum);//图片结束列anchor.setCol2(colNum);//图片结束行anchor.setRow2(rowNum);//上一张图片右下角的x坐标 + 图片间距int dx1 = preDx2 + padding;//当前图片的左上角x坐标 + 图片宽度int dx2 = dx1 + defaultImgWidth;//当前图片x坐标anchor.setDx1(dx1);//上边距anchor.setDy1(padding);//图片宽度anchor.setDx2(dx2);//图片高度anchor.setDy2(defaultImgHeight);anchor.setAnchorType(ClientAnchor.AnchorType.MOVE_AND_RESIZE);// 创建并设置图片drawing.createPicture(anchor, pictureIdx);preDx1 = dx1;preDx2 = dx2;}}

填充效果
在这里插入图片描述

http://www.yayakq.cn/news/300911/

相关文章:

  • 超大免费网站空间龙岗网站建设方案
  • 农安建设局网站深圳小程序app定制开发
  • 酷站网站重庆网站建设川娃子
  • 沈阳建设工程质量检测中心网站网站除了做流量还需要什么软件
  • 做剧情游戏的网站做网站设计需要学什么
  • 福田网站建设价格网站首页该怎么做
  • 为什么很多中国人去菲律宾做网站深圳福永
  • 网站建设基本标准汕头资讯网
  • 网页制作与设计站点应该怎么建网站服务器租用资质
  • 班级建设网站首页网页界面设计课程
  • 企业公司做网站揭东建设局网站
  • 永兴县网站建设公司成立做网站的公司
  • 申请域名流程后怎样做网站晋中市建设局网站
  • 用vps建网站备案做网站一个月20g流量够吗
  • 网站推广页建设招标网官方网站
  • eclipse网站开发流程图胶州专业网站建设公司
  • 网站名称设置国内精自品线一区91制片
  • 郑州网站建设信息做网站 怎么推广
  • 深圳网站建设公司服务苏州建网站的公司外包服务
  • 以前自己做的网站怎么样删除网站开发公司小程序开发
  • 潮州市工程建设网站温州设计网站建设
  • 长沙网站设计多少钱一个月seo网络优化平台
  • 怎么做弹幕网站营销型网站有意义吗
  • 商城网站的建设定位昆明最新消息今天
  • 网站推广费用ihanshi网站新版
  • 郑州做品牌网站的公司建立一个网站需要什么
  • 网站业务员怎么给客户做方案网站建设是广告吗
  • 网站投稿源码中山建设安监站网站
  • 网站开发的设计与实现重庆网站免费优化
  • 网站建设ppt方案结语如何进行搜索引擎优化