java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java创建xls文件放到指定文件夹中

java创建xls文件放到指定文件夹中实现方式

作者:牛肉胡辣汤

本文介绍了如何在Java中使用ApachePOI库创建和操作Excel文件,重点是如何创建一个XLS文件并将其放置到指定文件夹中

Java创建XLS文件并放到指定文件夹中

在Java中,我们可以使用Apache POI库来创建和操作Excel文件。

下面将介绍如何使用Java创建一个XLS文件,并将其放置到指定的文件夹中。

步骤一:引入依赖

首先,在项目中引入Apache POI库的依赖。可以在Maven或Gradle配置文件中添加以下依赖:

xmlCopy code
<!-- Apache POI依赖 -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.2</version>
</dependency>

步骤二:创建XLS文件

下面是一个简单的示例,展示了如何使用Java创建一个包含数据的XLS文件:

javaCopy code
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class CreateExcelFile {
    public static void main(String[] args) {
        // 创建工作簿
        Workbook workbook = new XSSFWorkbook();
        // 创建工作表
        Sheet sheet = workbook.createSheet("Sheet1");
        // 创建行,并设置行号
        Row row = sheet.createRow(0);
        // 创建单元格,并设置单元格内容
        Cell cell = row.createCell(0);
        cell.setCellValue("Hello");
        // 保存文件
        try (FileOutputStream fileOut = new FileOutputStream("指定文件夹的路径/文件名.xls")) {
            workbook.write(fileOut);
            System.out.println("XLS文件创建成功!");
        } catch (IOException e) {
            e.printStackTrace();
        }
        // 清理资源
        workbook.close();
    }
}

在上述示例中,我们首先创建一个XSSFWorkbook实例表示工作簿,然后创建一个名称为"Sheet1"的工作表。接下来,我们创建一个行并指定行号为0,创建一个单元格并设置其内容为"Hello"。

最后,我们将工作簿保存到指定文件夹中的"文件名.xls"文件中。 请注意,需要将指定文件夹的路径/文件名.xls替换为实际的文件夹路径和文件名。

创建一个销售订单的Excel报表,并将其保存到指定文件夹中。

javaCopy code
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class CreateSalesOrderExcel {
    public static void main(String[] args) {
        // 创建销售订单数据
        List<SalesOrder> salesOrders = createSalesOrders();
        
        // 创建工作簿
        Workbook workbook = new XSSFWorkbook();
        
        // 创建工作表
        Sheet sheet = workbook.createSheet("销售订单");
        
        // 创建表头
        Row headerRow = sheet.createRow(0);
        headerRow.createCell(0).setCellValue("订单编号");
        headerRow.createCell(1).setCellValue("订单日期");
        headerRow.createCell(2).setCellValue("客户姓名");
        headerRow.createCell(3).setCellValue("产品名称");
        headerRow.createCell(4).setCellValue("数量");
        headerRow.createCell(5).setCellValue("单价");
        headerRow.createCell(6).setCellValue("总价");
        
        // 填充数据
        int rowNumber = 1;
        for (SalesOrder salesOrder : salesOrders) {
            Row row = sheet.createRow(rowNumber++);
            row.createCell(0).setCellValue(salesOrder.getOrderNumber());
            row.createCell(1).setCellValue(salesOrder.getOrderDate());
            row.createCell(2).setCellValue(salesOrder.getCustomerName());
            row.createCell(3).setCellValue(salesOrder.getProductName());
            row.createCell(4).setCellValue(salesOrder.getQuantity());
            row.createCell(5).setCellValue(salesOrder.getUnitPrice());
            row.createCell(6).setCellValue(salesOrder.getTotalPrice());
        }
        
        // 保存文件
        try (FileOutputStream fileOut = new FileOutputStream("指定文件夹的路径/销售订单报表.xlsx")) {
            workbook.write(fileOut);
            System.out.println("Excel文件创建成功!");
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        // 清理资源
        workbook.close();
    }
    
    private static List<SalesOrder> createSalesOrders() {
        // 模拟一些销售订单数据
        List<SalesOrder> salesOrders = new ArrayList<>();
        salesOrders.add(new SalesOrder("20240001", "2024-02-01", "张三", "产品1", 10, 50.0));
        salesOrders.add(new SalesOrder("20240002", "2024-02-02", "李四", "产品2", 5, 100.0));
        salesOrders.add(new SalesOrder("20240003", "2024-02-03", "王五", "产品1", 8, 50.0));
        salesOrders.add(new SalesOrder("20240004", "2024-02-04", "赵六", "产品3", 2, 150.0));
        return salesOrders;
    }
    
    // 销售订单类
    private static class SalesOrder {
        private String orderNumber;
        private String orderDate;
        private String customerName;
        private String productName;
        private int quantity;
        private double unitPrice;
        
        // 构造函数、getter和setter省略
        
        public double getTotalPrice() {
            return quantity * unitPrice;
        }
    }
}

在这个示例代码中,我们创建了一个名为SalesOrder的内部类,表示销售订单。然后,我们生成了一些示例数据,并使用此数据填充Excel表格。最后,我们将工作簿保存到指定文件夹中的"销售订单报表.xlsx"文件中。请记得将指定文件夹的路径/销售订单报表.xlsx替换为实际的文件夹路径和文件名。

在Java中,操作Excel文件的接口主要有两个主要的库:Apache POI和JExcel API。这两个库都提供了丰富的功能来读取、写入和修改Excel文件。

1、Apache POI: Apache POI是一个流行的Java开源库,用于处理Microsoft Office格式的文件,包括Excel(.xls和.xlsx文件)、Word和PowerPoint等。它提供了一组丰富的类和接口来读写和操作Excel文件。 Apache POI中用于处理Excel的主要接口有:

2、JExcel API: JExcel API是另一个Java库,用于处理Excel文件。它提供了一组简单易用的类和接口,只支持旧版的Excel文件(.xls格式)。 JExcel API中用于处理Excel的主要接口有:

总结

通过使用Apache POI库,我们可以很方便地在Java中创建和操作Excel文件。上述示例展示了创建一个简单的XLS文件并将其放置到指定文件夹中的方法。你可以根据自己的需求进一步扩展和优化这个例子。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文