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

博达网站建设教程怎么做网站轮播图片

博达网站建设教程,怎么做网站轮播图片,彩票网站建设网站,gis二次开发EasyExcell导出excel添加水印1、添加easyExcel相关依赖2、准备基础工具类3、创建水印handler类4、创建单元测试类WriteTest.class5、测试结果1、添加easyExcel相关依赖 dependencygroupIdorg.apache.poi/groupIdartifactIdpoi/artifactIddependencygroupIdorg.apache.poi/groupIdartifactIdpoi/artifactIdversion5.2.2/version/dependencydependencygroupIdorg.apache.poi/groupIdartifactIdpoi-ooxml/artifactIdversion5.2.2/version/dependencydependencygroupIdorg.apache.poi/groupIdversion5.2.2/versionartifactIdpoi-ooxml-lite/artifactId/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.13.2/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIdeasyexcel/artifactIdversion3.2.1/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.22/version/dependencydependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.8.12/version/dependency2、准备基础工具类 DemoData .class Getter Setter EqualsAndHashCode public class DemoData {ExcelProperty(字符串标题)private String string;ExcelProperty(日期标题)private Date date;ExcelProperty(数字标题)private Double doubleData;/*** 忽略这个字段*/ExcelIgnoreprivate String ignore; }TestFileUtil.class public class TestFileUtil {public static InputStream getResourcesFileInputStream(String fileName) {return Thread.currentThread().getContextClassLoader().getResourceAsStream( fileName);}public static String getPath() {return TestFileUtil.class.getResource(/).getPath();}public static File createNewFile(String pathName) {File file new File(getPath() pathName);if (file.exists()) {file.delete();} else {if (!file.getParentFile().exists()) {file.getParentFile().mkdirs();}}return file;}public static File readFile(String pathName) {return new File(getPath() pathName);}public static File readUserHomeFile(String pathName) {return new File(System.getProperty(user.home) File.separator pathName);} }3、创建水印handler类 WaterMarkHandler.class水印生成类 EasyExcel提供了一个水印接口类我们实现SheetWriteHandler自定义我们的水印 RequiredArgsConstructor public class WaterMarkHandler implements SheetWriteHandler {private final String WATER_MARK;public static ByteArrayOutputStream createWaterMark(String content) throws IOException {int width 200;int height 150;BufferedImage image new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);// 获取bufferedImage对象String fontType 微软雅黑;int fontStyle Font.BOLD;int fontSize 20;Font font new Font(fontType, fontStyle, fontSize);Graphics2D g2d image.createGraphics(); // 获取Graphics2d对象image g2d.getDeviceConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT);g2d.dispose();g2d image.createGraphics();g2d.setColor(new Color(0, 0, 0, 20)); //设置字体颜色和透明度最后一个参数为透明度g2d.setStroke(new BasicStroke(1)); // 设置字体g2d.setFont(font); // 设置字体类型 加粗 大小g2d.rotate(-0.5, (double) image.getWidth() / 2, (double) image.getHeight() / 2);//设置倾斜度FontRenderContext context g2d.getFontRenderContext();Rectangle2D bounds font.getStringBounds(content, context);double x (width - bounds.getWidth()) / 2;double y (height - bounds.getHeight()) / 2;double ascent -bounds.getY();double baseY y ascent;// 写入水印文字原定高度过小所以累计写水印增加高度g2d.drawString(content, (int) x, (int) baseY);// 设置透明度g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER));// 释放对象g2d.dispose();ByteArrayOutputStream os new ByteArrayOutputStream();ImageIO.write(image, png, os);return os;}/**为Excel打上水印工具函数param sheet excel sheetparam bytes 水印图片字节数组*/public static void putWaterRemarkToExcel(SXSSFSheet sheet, byte[] bytes) {//add relation from sheet to the picture dataSXSSFWorkbook workbook sheet.getWorkbook();XSSFSheet shReflect (XSSFSheet) ReflectUtil.getFieldValue(sheet, _sh);int pictureIdx workbook.addPicture(bytes, Workbook.PICTURE_TYPE_PNG);XSSFPictureData xssfPictureData (XSSFPictureData) workbook.getAllPictures().get(pictureIdx);PackagePartName ppn xssfPictureData.getPackagePart().getPartName();PackageRelationship pr shReflect.getPackagePart().addRelationship(ppn, TargetMode.INTERNAL, XSSFRelation.IMAGES.getRelation(), null);//set background picture to sheetshReflect.getCTWorksheet().addNewPicture().setId(pr.getId());}Overridepublic void beforeSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {}SneakyThrowsOverridepublic void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {try (ByteArrayOutputStream waterMark createWaterMark(WATER_MARK)){SXSSFSheet sheet (SXSSFSheet) writeSheetHolder.getSheet();putWaterRemarkToExcel(sheet, waterMark.toByteArray());}} } 4、创建单元测试类WriteTest.class public class WriteTest {Testpublic void writer() {String fileName TestFileUtil.getPath() simpleWrite System.currentTimeMillis() .xlsx;// 这里 需要指定写用哪个class去写然后写到第一个sheet名字为模板 然后文件流会自动关闭// 如果这里想使用03 则 传入excelType参数即可EasyExcel.write(fileName, DemoData.class).registerWriteHandler(new WaterMarkHandler(zhangsan)).sheet(模板).doWrite(() - {// 分页查询数据return data();});}private ListDemoData data() {ListDemoData list ListUtils.newArrayList();for (int i 0; i 10; i) {DemoData data new DemoData();data.setString(字符串 i);data.setDate(new Date());data.setDoubleData(0.56);list.add(data);}return list;} }5、测试结果 导出的excel成功添加水印
http://www.w-s-a.com/news/948318/

相关文章:

  • 国内最有趣的25个网站推广流程
  • 红河做网站抖音小程序怎么挂到抖音上
  • 高度重视机关门户网站建设外包
  • 网站里面送礼物要钱怎么做代码网站开发怎么对接客户
  • 泰州网站制作策划如何做网站需求
  • 门户网站优化报价软件技术公司
  • 怎样换网站logo公司名字大全集免费
  • 为网站网站做推广各类最牛网站建设
  • 网站用自己的电脑做服务器佛山做网站制作公司
  • 一个网站如何做cdn加速器如何上传网站数据库
  • 汝州住房和城乡建设局新网站营销网站定位
  • yy直播官网seo引擎优化是什
  • 做影视网站违法莫品牌营销是什么
  • 全网最稳最低价自助下单网站wordpress电影网站主题
  • 域名更换网站温州建设工程网站
  • 网站如何优化推广连锁店管理网站开发
  • 伊宁市做网站功能性质网站
  • 北京哪个网站制作公司优化大师免费安装下载
  • 同江佳木斯网站设计做网站联系电话
  • 设计上海展会2023seo网站模板下载
  • 开发一个卖东西的网站多少站长工具永久
  • 公司网站怎么突然多了好多友情链接如何删除宁波有几个区
  • 临沂seo网站推广wordpress新编辑器
  • c2c网站设计店面logo设计制作
  • 网站建设任务执行书重庆今天新闻事件
  • 怎样发布自己的网站南宁制作网站公司
  • wordpress装多站点百度查一下
  • 怎么优化一个网站搭建网站免费空间
  • 山东建设和城乡建设厅注册中心网站首页wordpress安装教材
  • 个人风采网站制作毕节网站开发公司电话