0
点赞
收藏
分享

微信扫一扫

Java Workbook和XSSWorkbook 处理Excel

Java WorkbookXSSWorkbook 是 Apache POI 库中用于处理 Excel 文件的两个主要类。Apache POI 是一个流行的 Java API,用于读写 Microsoft Office 格式的文档,特别是 Excel(.xls 和 .xlsx)文件。下面将通过一些示例来展示如何使用这两个类处理 Excel 文件。

使用 HSSFWorkbook (处理 .xls 文件)

HSSFWorkbook 类用于处理旧版本的 Excel 文件(即 .xls 文件)。下面是一个简单的例子,演示如何创建一个新的 Excel 文件,并向其中添加数据。

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

public class HSSFExample {
    public static void main(String[] args) {
        // 创建一个工作簿
        Workbook workbook = new HSSFWorkbook();
        
        // 创建一个工作表
        Sheet sheet = workbook.createSheet("示例表");
        
        // 创建一行
        Row row = sheet.createRow(0);
        
        // 创建单元格并设置值
        Cell cell = row.createCell(0);
        cell.setCellValue("Hello, World!");
        
        // 将工作簿写入文件
        try (FileOutputStream fileOut = new FileOutputStream("workbook.xls")) {
            workbook.write(fileOut);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用 XSSWorkbook (处理 .xlsx 文件)

XSSWorkbook 类用于处理新版的 Excel 文件(即 .xlsx 文件)。下面是一个类似的例子,但这次我们将创建一个 .xlsx 文件。

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

public class XSSFExample {
    public static void main(String[] args) {
        // 创建一个工作簿
        Workbook workbook = new XSSFWorkbook();
        
        // 创建一个工作表
        Sheet sheet = workbook.createSheet("示例表");
        
        // 创建一行
        Row row = sheet.createRow(0);
        
        // 创建单元格并设置值
        Cell cell = row.createCell(0);
        cell.setCellValue("Hello, World!");
        
        // 将工作簿写入文件
        try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
            workbook.write(fileOut);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

读取 Excel 文件

无论是 .xls 还是 .xlsx 文件,读取 Excel 文件的基本方法是相似的。这里提供一个通用的例子,展示如何读取一个 Excel 文件的内容。

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

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

public class ReadExcelExample {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream(new File("workbook.xlsx"));
             Workbook workbook = new XSSFWorkbook(fis)) {
            
            // 获取第一个工作表
            Sheet sheet = workbook.getSheetAt(0);
            
            // 遍历每一行
            for (Row row : sheet) {
                // 遍历每个单元格
                for (Cell cell : row) {
                    switch (cell.getCellType()) {
                        case STRING:
                            System.out.print(cell.getStringCellValue() + "\t");
                            break;
                        case NUMERIC:
                            System.out.print(cell.getNumericCellValue() + "\t");
                            break;
                        default:
                            // 其他类型的单元格处理
                    }
                }
                System.out.println(); // 换行
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

这些示例展示了如何使用 Apache POI 库的基本功能来处理 Excel 文件。根据实际需求,可以扩展这些示例,实现更复杂的功能,比如格式化单元格、添加图表等。

举报

相关推荐

0 条评论