poi中sheet.getLastRowNum与sheet.getLastCellNum

假设一个文件,有两行三列.
在这里插入图片描述
sheet.getLastRowNum();//获取的值为1
//获取第一行的最后一列
sheet.getRow(0).getLastCellNum();//获取的值为3
getLastRowNum()获取的行数比实际的行值小1,
getLastCellNum()获取的列数等于实际的值.
sheet.getRow(下标)和sheet.getRow(下标).getCell(下标)
中的下标都是从0开始的.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Apache POI复制Excel sheet并保留格式的代码示例: ```java import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; 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; public class CopyExcelSheet { public static void main(String[] args) { try (Workbook workbook = new XSSFWorkbook("original.xlsx"); FileOutputStream fileOut = new FileOutputStream("copy.xlsx")) { // 获取要复制的sheet Sheet originalSheet = workbook.getSheet("Sheet1"); // 创建新的sheet并设置sheet名称 Sheet copiedSheet = workbook.createSheet("Copy of Sheet1"); // 复制行和列 for (int rowIndex = 0; rowIndex < originalSheet.getLastRowNum(); rowIndex++) { Row originalRow = originalSheet.getRow(rowIndex); Row copiedRow = copiedSheet.createRow(rowIndex); if (originalRow != null) { for (int colIndex = 0; colIndex < originalRow.getLastCellNum(); colIndex++) { Cell originalCell = originalRow.getCell(colIndex); Cell copiedCell = copiedRow.createCell(colIndex); if (originalCell != null) { // 复制单元格值 copiedCell.setCellValue(originalCell.getStringCellValue()); // 复制单元格样式 CellStyle originalCellStyle = originalCell.getCellStyle(); CellStyle copiedCellStyle = workbook.createCellStyle(); copiedCellStyle.cloneStyleFrom(originalCellStyle); copiedCell.setCellStyle(copiedCellStyle); } } } } // 保存工作簿 workbook.write(fileOut); } catch (IOException e) { e.printStackTrace(); } } } ``` 在此示例,我们首先打开原始Excel文件并获取要复制的sheet。然后,我们创建一个新的sheet并将其命名为“Copy of Sheet1”。接下来,我们循环遍历原始sheet的所有行和列,并将它们复制到新的sheet。对于每个单元格,我们复制单元格值并复制单元格样式。最后,我们将工作簿写入新的Excel文件。 请注意,这只是一个基本示例,您可能需要根据自己的需求进行修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值