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

用vs2012怎么做网站营销方案100例

用vs2012怎么做网站,营销方案100例,网站开发 asp.net 还要学什么,嵌入式培训一般多少钱在日常工作中,Excel 是一个不可或缺的工具,尤其是在处理大量数据时。为了提升数据的可读性和美观性,我们经常需要对 Excel 中的单元格进行合并操作。本文将介绍如何使用 Apache POI 库在 Java 中实现 Excel 单元格的合并,并提供一…

在日常工作中,Excel 是一个不可或缺的工具,尤其是在处理大量数据时。为了提升数据的可读性和美观性,我们经常需要对 Excel 中的单元格进行合并操作。本文将介绍如何使用 Apache POI 库在 Java 中实现 Excel 单元格的合并,并提供一个现成的工具类供大家使用。

工具类介绍

我们提供了一个名为 ExcelMergeUtility 的工具类,它可以帮助你轻松地合并 Excel 中的单元格。该类支持纵向合并(按行合并)和横向合并(按列合并),并且可以指定需要合并的列。

工具类代码

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.springframework.stereotype.Component;import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;@Component
public class ExcelMergeUtility {/*** 合并Excel中内容相同的单元格** @param workbook       工作簿* @param sheetName      工作表名称* @param columnsToMerge 需要合并的列索引列表* @param isRowMerge     是否按行合并(纵向合并)* @param isColumnMerge  是否按列合并(横向合并)*/public void mergeCells(Workbook workbook, String sheetName, List<Integer> columnsToMerge,boolean isRowMerge, boolean isColumnMerge) {Sheet sheet = workbook.getSheet(sheetName);if (sheet == null) {throw new IllegalArgumentException("工作表 " + sheetName + " 不存在");}// 记录第一列的合并行数int firstColMergeEndRow = 0;for (int colIndex : columnsToMerge) {for (int rowIndex = 0; rowIndex <= sheet.getLastRowNum(); rowIndex++) {Row currentRow = sheet.getRow(rowIndex);if (currentRow == null) continue;Cell currentCell = currentRow.getCell(colIndex);if (currentCell == null) continue;String currentValue = currentCell.getStringCellValue();if (isRowMerge) {// 纵向合并int mergeStartRow = rowIndex;while (rowIndex + 1 <= sheet.getLastRowNum()) {Row nextRow = sheet.getRow(rowIndex + 1);if (nextRow == null) break;Cell nextCell = nextRow.getCell(colIndex);if (nextCell == null || !nextCell.getStringCellValue().equals(currentValue)) break;// 如果当前列不是第一列,且合并行数超过前一列的合并行数,则停止合并if (colIndex > 0 && rowIndex + 1 > getMergeEndRow(sheet, mergeStartRow, colIndex - 1)) break;// 如果合并行数超过第一列的合并行数,则停止合并if (colIndex > 0 && rowIndex + 1 > firstColMergeEndRow) break;rowIndex++;}if (mergeStartRow != rowIndex) {sheet.addMergedRegion(new CellRangeAddress(mergeStartRow, rowIndex, colIndex, colIndex));}// 如果是第一列,记录合并的最后一行if (colIndex == 0) {firstColMergeEndRow = rowIndex;}}if (isColumnMerge) {// 横向合并int mergeStartCol = colIndex;while (colIndex + 1 < currentRow.getLastCellNum()) {Cell nextCell = currentRow.getCell(colIndex + 1);if (nextCell == null || !nextCell.getStringCellValue().equals(currentValue)) break;colIndex++;}if (mergeStartCol != colIndex) {sheet.addMergedRegion(new CellRangeAddress(rowIndex, rowIndex, mergeStartCol, colIndex));}}}}}/*** 获取指定单元格的合并的最后一行** @param sheet     工作表* @param rowIndex  行索引* @param colIndex  列索引* @return 合并的最后一行*/private int getMergeEndRow(Sheet sheet, int rowIndex, int colIndex) {for (CellRangeAddress mergedRegion : sheet.getMergedRegions()) {if (mergedRegion.isInRange(rowIndex, colIndex)) {return mergedRegion.getLastRow();}}return rowIndex; // 如果没有合并,则返回当前行}/*** 示例:生成Excel并合并单元格*/public void generateAndMergeExcel(String filePath, String sheetName, List<Integer> columnsToMerge,boolean isRowMerge, boolean isColumnMerge) throws IOException {// 打开现有的Excel文件Workbook workbook = WorkbookFactory.create(new FileInputStream(filePath));// 合并单元格mergeCells(workbook, sheetName, columnsToMerge, isRowMerge, isColumnMerge);// 写入文件try (FileOutputStream fileOut = new FileOutputStream(filePath)) {workbook.write(fileOut);}workbook.close();}
}

调用示例

List<Integer> columnsToMerge = Arrays.asList(0, 1, 2, 3, 4, 5); // 合并第1列和第2列
boolean isRowMerge = true; // 启用纵向合并
boolean isColumnMerge = false; // 禁用横向合并excelMergeUtility.generateAndMergeExcel("C:\\Users\\xxxx\\Downloads\\汇总记录2025-03-04%2B10_38_30.xls", "汇总", columnsToMerge, isRowMerge, isColumnMerge);

依赖配置

为了使用这个工具类,你需要在你的项目中添加 Apache POI 的依赖:

<!-- Apache POI 核心库 -->
<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version>
</dependency>
<!-- Apache POI OOXML 库,用于处理 .xlsx 文件 -->
<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version>
</dependency>

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

总结

通过 ExcelMergeUtility 工具类,你可以轻松地实现 Excel 单元格的合并操作。无论是纵向合并还是横向合并,该工具类都能满足你的需求。希望本文对你有所帮助,欢迎在评论区分享你的使用体验和问题。

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

相关文章:

  • 做企业网站首页尺寸长沙seo代理
  • 模板网站建设报价口碑营销属于什么营销
  • 西乡网站建设东莞网站制作模板
  • 企业网站建设网站建设找哪家公司好
  • 阎良区网站建设厦门排名推广
  • 百度网站认证正规seo排名公司
  • 牛商网网站后台网站注册页面
  • 想自己做衣服上哪个网站学直通车推广怎么做
  • 加工平台都有哪些seo牛人
  • 2010网站建设管理最新疫情最新消息
  • 静态网站的好处网络广告电话
  • 怀化网站优化多少钱百度指数怎么下载
  • 深圳市做网站知名公司有哪些seo建站是什么
  • 手机网站开发技巧西安seo关键词排名
  • 建设网站公司中防疫测温健康码核验一体机
  • b2b2c的网站百度指数批量查询工具
  • 一个网站怎么做软件数字营销网站
  • 成都广告设计培训班seo网站推广多少钱
  • 做网站需要买网址吗电商平台推广方式有哪些
  • 教育网站开发公司渠道推广
  • 做网站推广多少钱站长之家seo查询官方网站
  • 宣城市城乡建设委员会网站重庆森林电影高清在线观看
  • 安亭做网站公司企业整站优化
  • 政府网站文化建设济南百度
  • 如何建设视频资源电影网站太原整站优化排名外包
  • 做的网站放在阿里云竞价代运营外包公司
  • 做网站的图片字虚广告网站留电话不用验证码
  • 可以做彩票广告的网站吗宁波seo运营推广平台排名
  • wordpress 路由设计seo优化排名价格
  • 山东济南网站建设公司木卢seo教程