创建好pom文件,引入一下依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version>
</dependency>
具体代码如下
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.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.*;
public class demo {
//文件地址
private static final String file1Path ="D:/workspace/practice/pratice/file1.xlsx";
private static final String outputfilePath ="D:/workspace/practice/pratice/output.xlsx";
public static void main(String[] args) throws IOException {
//创建文件对象
File file1 = new File(file1Path);
File outPut = new File(outputfilePath);
//创建输入流对象
FileInputStream in = new FileInputStream(file1);
//创建输出流对象
FileOutputStream out = new FileOutputStream(outPut);
//创建Excel工作簿对象(读取Excel文件)
XSSFWorkbook excel = new XSSFWorkbook(in);
//创建输出工作簿对象
XSSFWorkbook outExcel = new XSSFWorkbook();
//获取表格中的第一个sheet页
XSSFSheet sheet = excel.getSheetAt(0); //获取第一个sheet页(下标从0开始
//输出表格中创建一个sheet
Sheet outputSheet = outExcel.createSheet("Output");
//获取到sheet页中后一行的下标
int lastRowNum = sheet.getLastRowNum();
//遍历行数
for (int i = 0; i <=lastRowNum ; i++) {
//获取第i
XSSFRow row = sheet.getRow(i);
//创建第i行
Row outputSheetRow = outputSheet.createRow(i);
//获取到当前行的总列数
int cellNum = row.getLastCellNum();
//遍历第i行每一列
for (int j = 0; j < cellNum; j++) {
//获取第i行第j列单元格
XSSFCell cell = row.getCell(j);
//创建单元格
Cell outputSheetRowCell = outputSheetRow.createCell(j);
//设置单元格值
outputSheetRowCell.setCellValue(cell.getNumericCellValue());
}
}
//写入excel
outExcel.write(out);
}
}