关于Excel中插入
poi提供的Class HSSFSheet 中的函数shiftRows可以把某区域的行移动,但是移动后剩下的区域却为空了。以下程序实现了按照原来的形式插入行的效果。而不是单单只是移动。
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/**
*
* @author ZhangPuSheng
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws FileNotFoundException, IOException {
// TODO code application logic here
FileInputStream myxls = new FileInputStream("workbook.xls");
HSSFWorkbook wb = new HSSFWorkbook(myxls);
HSSFSheet sheet= wb.getSheetAt(0);
int startRow=2;
int rows =10;
insertRow(sheet,startRow,rows);
FileOutputStream myxlsout = new FileOutputStream("workbook.xls");
wb.write(myxlsout);
myxlsout.close();
}
private static void insertRow(HSSFSheet sheet, int startRow, int rows) {
sheet.shiftRows(startRow, sheet.getLastRowNum(), rows, true, false);
for (int i = 0; i < rows; i++) {
HSSFRow sourceRow = null;//原始位置
HSSFRow targetRow = null;//移动后位置
HSSFCell sourceCell = null;
HSSFCell targetCell = null;
sourceRow = sheet.createRow(startRow);
targetRow = sheet.getRow(startRow + rows);
sourceRow.setHeight(targetRow.getHeight());
for (int m = targetRow.getFirstCellNum(); m < targetRow.getPhysicalNumberOfCells(); m++) {
sourceCell = sourceRow.createCell(m);
targetCell = targetRow.getCell(m);
sourceCell.setCellStyle(targetCell.getCellStyle());
sourceCell.setCellType(targetCell.getCellType());
}
startRow++;
}
}
}
注意:
sourceRow = sheet.createRow(startRow);和sourceCell = sourceRow.createCell(m);这两行很关键,
必须用create...,而不能用get...。因为被shiftRows后的区域是空,用get只能得到null,并且抛出异常。
分享到:
相关推荐
在这个"利用POI解析excel并存入数据库demo"中,我们将关注如何使用 POI 库来读取 Excel 文件,并将数据有效地存入 MySQL 数据库。 首先,要开始使用 POI,你需要在你的项目中引入相应的依赖。如果你使用的是 Maven...
本教程将详述如何使用Apache POI库读取Excel数据,并通过Java的JDBC接口批量插入到MySQL数据库中。Apache POI是Java平台上的一个开源项目,它允许程序员创建、修改和显示Microsoft Office格式的文件,其中包括Excel...
在本示例中,我们将深入探讨如何利用POI库来生成Excel中的图表曲线,这对于数据可视化和报告生成非常有用。 1. **Apache POI介绍** Apache POI是一个开源项目,提供了API来处理Microsoft Office格式的文件。在Java...
在本文中,我们将深入探讨如何使用Apache POI在Word文档中插入文本和图片,这对于创建动态报告模板尤其有用。 一、Apache POI基础 Apache POI提供了一系列接口和类,用于读写微软的Office文件格式。对于Word处理,...
本篇文章将详细介绍如何利用Java和Apache POI库向Excel工作表中插入图片。 首先,我们需要理解Apache POI的工作原理。POI提供了一个名为HSSFPatriarch的类,它是Excel中的图形绘制容器,可以用于插入图片。对于....
在标题和描述中提到的"java利用poi操作excel所需要的jar包"是POI项目的核心依赖,包括以下几个部分: 1. **poi-3.14.jar**: 这是Apache POI的主要库,提供了对低级HSSF(Horrible Spreadsheet Format)的支持,用于...
在本场景中,我们关注的是如何利用POI来生成Excel报表以及处理Word文档。 一、Java POI与Excel报表生成 1. 创建Excel工作簿(Workbook):在Java中,我们首先需要创建一个`XSSFWorkbook`对象,它代表Excel工作簿。`...
你可以参考这些源码进一步学习和实践如何利用POI和Word模板进行数据插入。 总结起来,利用Apache POI的XWPF模块和Word模板中的书签,可以高效地生成批量定制的Word文档,这对于企业报告、合同生成等场景具有很高的...
在本示例"SSM框架利用poi导入导出Excel文件 demo"中,我们将探讨如何在SSM项目中使用Apache POI库来实现Excel文件的导入与导出功能。 Apache POI是一个流行的开源库,它允许开发者在Java应用程序中创建、修改和显示...
本教程将深入探讨如何利用Apache POI来在Excel文件中完美地生成水印。水印通常用于标识文档的所有权或提供额外的安全层,而这里的水印是通过将文字转化为图片再添加到Excel工作表中实现的。 首先,我们需要了解...
本文将详细讲解如何使用Apache POI库处理Excel文件,并通过Java的JDBC接口将数据批量插入到MySQL数据库中。 Apache POI是Java领域的一个开源库,专门用于读写Microsoft Office格式的文件,包括Excel(.xls或.xlsx)...
在这个场景中,"使用poi生成Excel所需要的jar包"指的是利用Apache POI库来生成Excel文件。POI-3.9.jar是Apache POI项目的一个版本,包含了所有必要的类和方法,让我们可以处理Excel的XLS和XLSX格式。 首先,Apache ...
在Java开发中,Apache POI 是一个非常流行的库,它允许程序员创建、修改和显示Microsoft Office格式的文件,包括Excel工作簿。标题“poi excel转换成bean”涉及到的关键技术是使用Apache POI从Excel文件中读取数据并...
本项目“Java利用poi对word插入文字图片”是一个具体的示例,旨在教给你如何使用Apache POI API在Word文档中插入文字和图片。下面将详细阐述相关的知识点。 首先,Apache POI提供了HWPF(Horrible Word Processor ...
通过解析`workbook.xml`,我们可以获取到预定义的数据验证规则,或者创建新的XML来定义自定义规则,然后利用POI的API将这些规则应用到Excel工作表。 在数据验证之后,我们需要对处理的数据进行进一步的业务逻辑检查...
这个“POI解析excel并存入mysqlのdemo”是利用 Java 的 Apache POI 库来读取 Excel 数据,并将这些数据存储到 MySQL 数据库中的示例。下面我们将详细探讨相关的知识点。 1. **Apache POI**: Apache POI 是一个...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel。...通过这些示例,你可以理解如何在Java应用中利用POI进行Excel文件的创建、读取和修改,以及如何结合数据库操作实现数据的导入导出。
本篇文章将详细探讨如何利用Apache POI库在Java中导出Excel表格。 首先,我们需要理解Excel文件的基本结构。Excel文件是由工作簿(Workbook)组成的,工作簿中包含一个或多个工作表(Sheet)。每个工作表由行(Row...
在Java开发中,Apache POI库是一个非常重要的工具,它允许程序员读取、写入和修改Microsoft Office格式的文件,包括Excel。"基于POI的Excel多Sheet页导出导入工具类"是一个实用的Java类库,专为处理Excel文件中的多...
在本案例中,我们关注的是如何使用 Apache POI 库来导出 Excel 文件,特别是根据模板导出和简单列表导出。下面将详细介绍这个过程。 1. **Apache POI 概述** Apache POI 提供了 Java API 来读写 Microsoft Office ...