操作Excel并另存为

在日常工作中,我们经常需要对Excel文件进行操作,比如读取、修改、保存等。而在Java中,我们可以利用一些库来实现对Excel的操作。本文将介绍如何使用Java操作Excel文件,并将其另存为新的Excel文件。

Excel操作库

在Java中,我们可以使用Apache POI库来操作Excel文件。Apache POI提供了一系列的API来读取、写入和操作Excel文件。通过Apache POI,我们可以创建、打开、修改和保存Excel文件。

示例代码

下面是一个简单的示例代码,演示了如何使用Apache POI库读取一个Excel文件,并将其另存为新的Excel文件。

import org.apache.poi.ss.usermodel.*;

import java.io.FileInputStream;
import java.io.FileOutputStream;

public class ExcelOperation {

    public static void main(String[] args) {
        try {
            // 读取Excel文件
            FileInputStream fis = new FileInputStream("original.xlsx");
            Workbook workbook = WorkbookFactory.create(fis);
            Sheet sheet = workbook.getSheetAt(0);

            // 创建新的Excel文件
            Workbook newWorkbook = WorkbookFactory.create(true);
            Sheet newSheet = newWorkbook.createSheet("newSheet");

            // 复制原始Excel文件内容到新文件中
            for (int i = 0; i <= sheet.getLastRowNum(); i++) {
                Row row = sheet.getRow(i);
                Row newRow = newSheet.createRow(i);
                for (int j = 0; j < row.getLastCellNum(); j++) {
                    Cell cell = row.getCell(j);
                    Cell newCell = newRow.createCell(j);
                    if (cell != null) {
                        switch (cell.getCellTypeEnum()) {
                            case STRING:
                                newCell.setCellValue(cell.getStringCellValue());
                                break;
                            case NUMERIC:
                                newCell.setCellValue(cell.getNumericCellValue());
                                break;
                            case BOOLEAN:
                                newCell.setCellValue(cell.getBooleanCellValue());
                                break;
                            case FORMULA:
                                newCell.setCellValue(cell.getCellFormula());
                                break;
                            default:
                                newCell.setCellValue(cell.getStringCellValue());
                        }
                    }
                }
            }

            // 保存新的Excel文件
            FileOutputStream fos = new FileOutputStream("new.xlsx");
            newWorkbook.write(fos);

            fis.close();
            fos.close();
            System.out.println("Excel文件另存为成功!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在上面的代码中,我们首先读取名为original.xlsx的Excel文件,然后创建一个新的Excel文件new.xlsx,将原始Excel文件中的内容复制到新的Excel文件中,并将新文件保存到磁盘上。

关系图

erDiagram
    CUSTOMER ||--o{ ORDER : places
    ORDER ||--|{ LINE-ITEM : contains
    PRODUCT ||--o{ LINE-ITEM : includes
    PRODUCT ||--|{ CATEGORY : belongs to

引用形式的描述信息

在上述代码中,我们使用了WorkbookFactory来创建新的Excel文件,并使用SheetRow来操作Excel文件中的工作表和行。通过遍历原始Excel文件中的每一行,我们可以将其内容复制到新的Excel文件中。最后,我们使用FileOutputStream将新的Excel文件保存到磁盘上。

结尾

通过本文的介绍,我们了解了如何使用Java操作Excel文件,并将其另存为新的Excel文件。通过Apache POI库,我们可以轻松实现对Excel文件的读取、写入和操作。希望本文对你有所帮助,谢谢阅读!