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

网站文章收录慢seo推广效果怎么样

网站文章收录慢,seo推广效果怎么样,中山seo代理计费,网易做网站吗对比了一下 easyexcel,jxls, poi-tl 等工具,感觉各有千秋。 做个笔记,有需要的同学可以进行参考 github地址:https://github.com/alibaba/easyexcel 1、先定义模板 2、上代码 package com.luo.easyexcel.demos;import com.aliba…

对比了一下 easyexceljxls, poi-tl 等工具,感觉各有千秋。

做个笔记,有需要的同学可以进行参考
github地址:https://github.com/alibaba/easyexcel

1、先定义模板

在这里插入图片描述

2、上代码

package com.luo.easyexcel.demos;import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.metadata.Head;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.write.handler.CellWriteHandler;import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.metadata.fill.FillConfig;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.util.CellRangeAddress;import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;public class BasicTest {public static void main(String[] args) {ExcelWriter excelWriter = EasyExcel.write("D:\\result.xlsx", User.class).withTemplate("D:\\template.xlsx").registerWriteHandler(new FillRowMergeStrategy()).autoCloseStream(false).build();WriteSheet writeSheet = EasyExcel.writerSheet().build();FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();Map<String, Object> params = new HashMap<>(8);params.put("spr", "张三");params.put("spsj", LocalDateTime.now());params.put("cjr", "李四");params.put("cjsj", LocalDateTime.now());excelWriter.fill(params, writeSheet);excelWriter.fill(getData(), fillConfig, writeSheet);// 完成写入excelWriter.finish();}private static class FillRowMergeStrategy implements CellWriteHandler {/** 需要进行单元格合并的列数组 **/private int mergeColumnIndex = 0;private int mergeRowIndex = 4;/*** 在每个单元格写入完成后执行,适合做样式、合并、校验等操作* @param writeSheetHolder 当前 sheet 的上下文信息(如当前行、sheet 对象等)* @param writeTableHolder 表格相关上下文(通常不常用)* @param cellDataList 当前单元格的数据集合(包含样式、值等)* @param cell* @param head 表头信息* @param relativeRowIndex 当前行在数据中的索引(从 0 开始)* @param isHead 是否是表头*/@Overridepublic void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, List<WriteCellData<?>> cellDataList, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) {int curRowIndex = cell.getRowIndex();int curColIndex = cell.getColumnIndex();if (curRowIndex > mergeRowIndex) {if (curColIndex == mergeColumnIndex) {mergeWithPrevRow(writeSheetHolder, cell, curRowIndex, curColIndex);}}}/*** 当前单元格向上合并** @param writeSheetHolder* @param cell*            当前单元格* @param curRowIndex*            当前行* @param curColIndex*            当前列*/private void mergeWithPrevRow(WriteSheetHolder writeSheetHolder, Cell cell, int curRowIndex, int curColIndex) {Object curData = getCellValue(cell);Row preRow = cell.getSheet().getRow(curRowIndex - 1);if (preRow == null) {// 当获取不到上一行数据时,使用缓存sheet中数据preRow = writeSheetHolder.getCachedSheet().getRow(curRowIndex - 1);}Cell preCell = preRow.getCell(curColIndex);Object preData =  getCellValue(preCell);// 将当前单元格数据与上一个单元格数据比较boolean same = preData.equals(curData);if (same) {Sheet sheet = writeSheetHolder.getSheet();List<CellRangeAddress> mergeRegions = sheet.getMergedRegions();boolean isMerged = false;for (int i = 0; i < mergeRegions.size() && !isMerged; i++) {CellRangeAddress cellRangeAddr = mergeRegions.get(i);// 若上一个单元格已经被合并,则先移出原有的合并单元,再重新添加合并单元if (cellRangeAddr.isInRange(curRowIndex - 1, curColIndex)) {sheet.removeMergedRegion(i);cellRangeAddr.setLastRow(curRowIndex);sheet.addMergedRegion(cellRangeAddr);isMerged = true;}}// 若上一个单元格未被合并,则新增合并单元if (!isMerged) {CellRangeAddress cellRangeAddress = new CellRangeAddress(curRowIndex - 1, curRowIndex, curColIndex, curColIndex);sheet.addMergedRegion(cellRangeAddress);}}}// 获取单元格值private Object getCellValue(Cell cell) {switch (cell.getCellType()) {case STRING:return cell.getStringCellValue();case NUMERIC:return cell.getNumericCellValue();case BOOLEAN:return cell.getBooleanCellValue();default:return null;}}}/*** 测试数据*/private static List<User> getData() {List<User> userList = new ArrayList<>();for (int i = 1; i <= 10; i++) {if (i > 5) {userList.add(new User("张三" + i,"男", "北京"+i, LocalDate.now(), "17745528756", "xxxxxxx", 18));}else if (i > 3){userList.add(new User("张三" + i,"男", "北京"+i, LocalDate.now(), "17745528756", "xxxxxxx", 19));}else {userList.add(new User("张三" + i,"男", "北京"+i, LocalDate.now(), "17745528756", "xxxxxxx", 20));}}return userList;}
}

效果如下

在这里插入图片描述

http://www.dtcms.com/wzjs/464650.html

相关文章:

  • 阿里巴巴网站威海哪里做百度搜索历史记录
  • 什么网站可以做论坛app如何快速优化网站排名
  • 网站建设十年杜绝模板每天三分钟新闻天下事
  • 企业网站建设费用账务处理店铺推广
  • 大型游戏网页游戏大全网站优化seo方案
  • 个人网站命名辽阳网站seo
  • 成都手机网站建设哪搜索引擎广告投放
  • 跨境电商的前景及现状汕头seo排名
  • 网站插入视频代码重庆网站设计
  • 网站栏目设置完整度建设电商运营自学网站
  • 建网站 xyz互联网的推广
  • 服务器能放多少个网站市场营销公司排名
  • 外贸网站建站多少钱深圳专门做seo的公司
  • 专业的企业网站优化公司推广赚钱软件
  • 网站建设 问卷调查灰色关键词排名
  • 网站关键词优化怎么弄郑州厉害的seo顾问
  • 鹤峰网站制作视频营销案例
  • 自做网站杭州网站关键词排名优化
  • 厦门网站建设培训机构自己怎么优化网站
  • dreamweaver网站建设和维护前端培训哪个机构靠谱
  • 怎样做才能让网站有排名磁力搜索引擎2023
  • 网站制作教程步骤广告公司广告牌制作
  • 那个网站专做文具批发seo提升关键词排名
  • 四平网站建设联系方式网络客服
  • 网站套餐预测2025年网络营销的发展
  • 广州品牌策划公司厦门seo排名优化公司
  • 网页设计大专工资一般多少广告seo是什么意思
  • 公司网站建设项目目的百度账号24小时人工电话
  • 百度站长联盟福州seo按天付费
  • 手机在线做ppt的网站有哪些搜索引擎优化的简称