当前位置: 首页> 教育> 锐评 > 刷数据网站怎么推广_b2c网站的后台管理功能包括_谷歌搜索引擎网址_金华百度seo

刷数据网站怎么推广_b2c网站的后台管理功能包括_谷歌搜索引擎网址_金华百度seo

时间:2025/7/9 16:57:30来源:https://blog.csdn.net/qq_48050838/article/details/142624208 浏览次数:0次
刷数据网站怎么推广_b2c网站的后台管理功能包括_谷歌搜索引擎网址_金华百度seo

这里用的到easyExcel版本为3.3.4

<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.3.4</version></dependency>

效果

代码部分

package com.tianyu.test;import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.annotation.write.style.ContentLoopMerge;
import com.alibaba.excel.write.handler.AbstractRowWriteHandler;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
import com.alibaba.excel.write.metadata.style.WriteCellStyle;
import com.alibaba.excel.write.metadata.style.WriteFont;
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
import lombok.Data;
import org.apache.commons.compress.utils.Lists;
import org.apache.poi.ss.formula.functions.Count;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.junit.Test;import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;public class test{private String filePath="src/main/resources/file/";@Testpublic void exportExcel(){String filePath = this.filePath+ File.separator + "exportExcel"+System.currentTimeMillis() + ".xlsx";EasyExcel.write(filePath).head(this.getHead())       						// 表格标题.sheet("测试")    										// sheet页名称.registerWriteHandler(setCellStyle())		// 样式.registerWriteHandler(new CustomMergeStrategy(7, 7, 1,3)) // 合并第8行的2到4列,即合并旁边的B8:D8.doWrite(this.getData());	   // 数据}/*** 表格标题* @return*/private static List<List<String>> getHead(){List<List<String>> head = new ArrayList<>();List l1=Lists.newArrayList();l1.add("合并");l1.add("序号");List l2=Lists.newArrayList();l2.add("合并");l2.add("年龄");List l3=Lists.newArrayList();l3.add("合并");l3.add("姓名");List l4=Lists.newArrayList();l4.add("换行");head.add(l1);head.add(l2);head.add(l3);head.add(l4);return head;}/*** 导出数据* @return*/private static List<List<Object>> getData(){List<List<Object>> dataList = new ArrayList<List<Object>>();for (int i = 1; i < 6; i++) {List<Object> data = new ArrayList<>();data.add(i);data.add("名称"+i);data.add(i+10);data.add("测试自动换行"+i);dataList.add(data);}List<Object> countCol=new ArrayList<>();countCol.add("合计");countCol.add("");countCol.add("");countCol.add("");dataList.add(countCol);return dataList;}/*** 表格样式* @return*/private static HorizontalCellStyleStrategy setCellStyle() {// 表格标题样式WriteCellStyle headWriteCellStyle = new WriteCellStyle();// 设置标题居中对齐headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);// 设置标题颜色headWriteCellStyle.setFillForegroundColor(IndexedColors.WHITE.getIndex());// 标题字体WriteFont headFont = new WriteFont();// 设置标题字体大小headFont.setFontHeightInPoints((short) 12);headWriteCellStyle.setWriteFont(headFont);headFont.setColor(IndexedColors.BLACK.getIndex());//设置自动换行headWriteCellStyle.setWrapped(true);// 数据样式WriteCellStyle contentWriteCellStyle = new WriteCellStyle();// 设置数据居中对齐contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);//设置数据自动换行contentWriteCellStyle.setWrapped(true);//设置边框样式contentWriteCellStyle.setBorderLeft(BorderStyle.THIN);contentWriteCellStyle.setBorderTop(BorderStyle.THIN);contentWriteCellStyle.setBorderRight(BorderStyle.THIN);contentWriteCellStyle.setBorderBottom(BorderStyle.THIN);// 设置数据背景色contentWriteCellStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND);contentWriteCellStyle.setFillForegroundColor(IndexedColors.WHITE.getIndex());// 这个策略是 头是头的样式 内容是内容的样式 其他的策略可以自己实现HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);return horizontalCellStyleStrategy;}// 用于合并的拦截器public class CustomMergeStrategy extends AbstractRowWriteHandler {int row1;int row2;int col1;int col2;CustomMergeStrategy(int row1, int row2, int col1, int col2) {this.row1 = row1;this.row2 = row2;this.col1 = col1;this.col2 = col2;}@Overridepublic void afterRowDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Integer relativeRowIndex, Boolean isHead) {Sheet sheet = writeSheetHolder.getSheet();CellRangeAddress cellRangeAddress = new CellRangeAddress(row1, // first row (0-based)row1, // last row  (0-based)col1, // first column (0-based)col2 // last column  (0-based));sheet.addMergedRegionUnsafe(cellRangeAddress);}}}

参考文献
EasyExcel无映射标题导出_easyexcel导出标题不展示-CSDN博客

apache poi 高版本 3.17后合并单元格的问题_addmergedregionunsafe-CSDN博客

关键字:刷数据网站怎么推广_b2c网站的后台管理功能包括_谷歌搜索引擎网址_金华百度seo

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: