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

苏州网站建设及推广门户地方网站 策略

苏州网站建设及推广,门户地方网站 策略,怎么做文化传播公司网站,怎样做投资网站首先POI没有提供删除列的API#xff0c;所以就需要用其他的方式实现。 在 java - Apache POI xls column Remove - Stack Overflow 这里找到了实现方式#xff1a; 先将该列所有值都清空#xff0c;然后将该列之后的所有列往前移动。 下面的工具类中 deleteColumns(Inpu…首先POI没有提供删除列的API所以就需要用其他的方式实现。 在 java - Apache POI xls column Remove - Stack Overflow 这里找到了实现方式 先将该列所有值都清空然后将该列之后的所有列往前移动。 下面的工具类中  deleteColumns(InputStream excelStream, ListString delColumnTitleList)方法实现了批量删除列的逻辑。 import lombok.SneakyThrows; 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.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.List;/*** Description* ClassName ExcelUtil* Date 2022/12/23 11:38*/ public class ExcelUtil {/*** 获取sheet表头* param sheet* return*/public static ListString getTitle(Sheet sheet) {ListString titleList new ArrayList();if (sheet.getPhysicalNumberOfRows() 0) {Row headerRow sheet.getRow(0); // 获取第一行表头行for (int i 0; i headerRow.getPhysicalNumberOfCells(); i) {Cell cell headerRow.getCell(i);if (cell ! null) {String headerText cell.getStringCellValue();titleList.add(headerText);}}}return titleList;}/*** 删除excel指定列* param excelStream excel流* param delColumnTitleList 需要删除的列的表头* return*/SneakyThrowspublic static ByteArrayOutputStream deleteColumns(InputStream excelStream, ListString delColumnTitleList) {ByteArrayOutputStream outputStream new ByteArrayOutputStream();Workbook workbook new XSSFWorkbook(excelStream);// 获取第一个sheetSheet sheet workbook.getSheetAt(0);deleteColumns(sheet, delColumnTitleList);workbook.write(outputStream);workbook.close();outputStream.close();return outputStream;}/*** 删除sheet指定的列* param sheet* param delColumnTitleList*/public static void deleteColumns(Sheet sheet, ListString delColumnTitleList) {ListString titleList getTitle(sheet);for (String delTitle : delColumnTitleList) {int i titleList.indexOf(delTitle);if (i 0) {deleteColumn(sheet, i);}//由于是循环删除删除后列所在位置索引会变化所以titleList相应也移除删除的列titleList.remove(delTitle);}}/*** 删除指定列* poi没有提供删除指定列的api所以先将该列清空然后将后续的列往前移动这样达到删除列的效果* param sheet* param columnToDelete*/public static void deleteColumn(Sheet sheet, int columnToDelete) {int maxColumn 0;for (int r 0; r sheet.getLastRowNum() 1; r) {Row row sheet.getRow(r);// if no row exists here; then nothing to do; next!if (row null) {continue;}// if the row doesnt have this many columns then we are good; next!int lastColumn row.getLastCellNum();if (lastColumn maxColumn) {maxColumn lastColumn;}if (lastColumn columnToDelete) {continue;}for (int x columnToDelete 1; x lastColumn 1; x) {Cell oldCell row.getCell(x - 1);if (oldCell ! null) {row.removeCell(oldCell);}Cell nextCell row.getCell(x);if (nextCell ! null) {Cell newCell row.createCell(x - 1, nextCell.getCellType());cloneCell(newCell, nextCell);}}}// Adjust the column widthsfor (int c 0; c maxColumn; c) {sheet.setColumnWidth(c, sheet.getColumnWidth(c 1));}}/*** 右边列左移*/private static void cloneCell(Cell cNew, Cell cOld) {cNew.setCellComment(cOld.getCellComment());cNew.setCellStyle(cOld.getCellStyle());switch (cNew.getCellTypeEnum()) {case BOOLEAN: {cNew.setCellValue(cOld.getBooleanCellValue());break;}case NUMERIC: {cNew.setCellValue(cOld.getNumericCellValue());break;}case STRING: {cNew.setCellValue(cOld.getStringCellValue());break;}case ERROR: {cNew.setCellValue(cOld.getErrorCellValue());break;}case FORMULA: {cNew.setCellFormula(cOld.getCellFormula());break;}}}}
http://www.hkea.cn/news/14412544/

相关文章:

  • 昆明网站建设天锐科技广西壮族自治区工商行政管理局
  • 公司网站建设设计方案wordpress中文 速度慢
  • 专业制作企业网站wordpress动静分离oss代码
  • 做吃穿住行网站全球军情动态
  • 公司网站搭建费用网站 前台 后台
  • 电子商务行业网站有哪些涟水住房和城乡建设局网站
  • 网站开发 零基础广电基础设施建设官方网站
  • 农产品如何建设网站郑州市哪里有网站建设
  • 婚庆网站源码seo外链网
  • 如何利用国外网站开发客户服务器 多个网站
  • 恶意镜像网站程序生物科技网站建设 中企动力北京
  • 做网站复杂吗wordpress 可视化 编辑
  • 简阳电力建设立项网站无锡大型设计网站报价
  • 网站没有百度权重网站负责人幕布照片
  • 盐山做网站广德县建设协会网站
  • 广州市财贸建设开发监理网站深圳市住房和建设局网官网
  • 北京建设监理网站网页设计和网站建设实战大全
  • c 网站开发案例源码网站推广有什么方法有哪些
  • 丹东新区建设发展集团网站游戏网站建设视频教程
  • 杭州做网点卖服装在那个网站网络营销人员招聘
  • 网站建设综合软件属于网站开发吗
  • 做一家网站的成本做外贸需要关注的网站有什么问题
  • 北京品牌建设网站公司排名下载中国移动app免费下载安装
  • 广州市建设集团网站首页wap网站部署
  • 网站建设可以在家做吗好的高端企业网站建设公司
  • dw设计做网站完整案例网络服务提供者应当将该声明转送发出通知的权利人
  • python搭建个人网站搜索引擎营销优化策略有哪些
  • 网站建设51cto手机上可视化编程app
  • 科技类网站安徽新网讯科技发展有限公司
  • 网站平台建设镜像站wordpress