Java操作excel,将一个excel中的数据复制到另一个excel中

创建好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);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值