如何将EXCEL表格复制到同一个WORKBOOK? [英] How to copy excel sheet to the same worbook?

查看:58
本文介绍了如何将EXCEL表格复制到同一个WORKBOOK?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用Apache POI将现有Excel工作表复制到Java中的同一工作簿(它包含3张工作表)。

以下是我所做的:

    FileInputStream file = new FileInputStream(new File("work.xlsx"));
    
    XSSFWorkbook workbook = new XSSFWorkbook(file);
    
    XSSFSheet sheet_copy =   workbook.cloneSheet(0);
    
    int num = workbook.getSheetIndex(sheet_copy);
    
    workbook.setSheetName(num, "copy_file");
    

运行此代码后,工作簿始终包含3个工作表,未创建";copy_file";,没有收到任何错误或异常。

有什么想法吗?

推荐答案

您需要打开输出流并写入工作簿。确保在此写入操作后关闭工作簿和输出流。

演示:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class Main {
    public static void main(String[] args) throws IOException {
        FileInputStream file = new FileInputStream(new File("work.xlsx"));
        XSSFWorkbook workbook = new XSSFWorkbook(file);
        XSSFSheet sheet_copy = workbook.cloneSheet(0);
        int num = workbook.getSheetIndex(sheet_copy);
        workbook.setSheetName(num, "copy_file");
        file.close();

        FileOutputStream outputStream = new FileOutputStream("work.xlsx");
        workbook.write(outputStream);
        workbook.close();
        outputStream.close();
    }
}

这篇关于如何将EXCEL表格复制到同一个WORKBOOK?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆