Java:创建、读取或更新 Excel 文档

Java:创建、读取或更新 Excel 文档

还在用Java代码逐行"雕刻"Excel文档吗?是时候升级你的生产力工具箱了。借助Spire.XLS for Java,无论是创建新报表、读取关键数据还是实时更新内容,现在你都能以简单的代码指令轻松实现。让我们一起,把繁琐的文档操作变成一次流畅的自动化之旅。


Java操作Excel的常见挑战与解决方案概述

处理Excel时,Java原生API往往力不从心,而Apache POI虽功能全面,但在高性能和简洁API场景下,我们可能需要更优解。

Spire.XLS for Java正是这样一个轻量而强大的选择。它提供了直观的面向对象API,让你用寥寥几行代码,就能轻松搞定Excel的创建、读取和更新,同时完美支持公式、图表等高级功能。

下面通过关键代码,一探究竟。


使用Spire.XLS for Java创建Excel文档

创建Excel文档是Excel操作的基础。Spire.XLS for Java使得这一过程变得异常简单。

java 复制代码
import com.spire.xls.*;
import com.spire.xls.collections.WorksheetsCollection;

public class CreateExcelDoc {
    public static void main(String[] args) {
        // 创建一个新的工作簿对象
        Workbook workbook = new Workbook();

        // 获取第一个工作表(默认会有一个)
        Worksheet sheet = workbook.getWorksheets().get(0);

        // 设置工作表名称
        sheet.setName("销售数据");

        // 写入数据到单元格
        sheet.getCellRange("A1").setText("产品名称");
        sheet.getCellRange("B1").setText("销售额");
        sheet.getCellRange("A2").setText("T恤");
        sheet.getCellRange("B2").setNumberValue(1250.50);
        sheet.getCellRange("A3").setText("裤子");
        sheet.getCellRange("B3").setNumberValue(899.00);

        // 设置单元格样式
        CellStyle style = sheet.getCellRange("A1:B1").getStyle();
        style.getFont().setKnownColor(ExcelColors.White);
        style.getFillPattern().setKnownColor(ExcelColors.DarkBlue);
        style.getFont().setBold(true);

        // 自动调整列宽
        sheet.autoFitColumn(1);
        sheet.autoFitColumn(2);

        // 保存Excel文件
        try {
            workbook.saveToFile("CreateExcelDoc.xlsx", ExcelVersion.Version2016);
            System.out.println("Excel文档创建成功!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

上述代码演示了如何创建一个新的Excel工作簿,添加工作表,写入文本和数字数据,设置单元格样式,并最终保存为.xlsx格式。整个过程直观明了,API设计符合开发者的直觉。


读取和更新现有Excel文档

读取和更新是Excel操作中同样重要的环节。Spire.XLS for Java提供了灵活的API来加载现有文件,定位并修改数据。

java 复制代码
import com.spire.xls.*;

public class ReadAndUpdateExcelDoc {
    public static void main(String[] args) {
        // 加载现有Excel文件
        Workbook workbook = new Workbook();
        try {
            workbook.loadFromFile("CreateExcelDoc.xlsx");
        } catch (Exception e) {
            e.printStackTrace();
            return;
        }

        // 获取第一个工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        // 读取特定单元格数据
        String productName = sheet.getCellRange("A2").getText();
        double salesAmount = sheet.getCellRange("B2").getNumberValue();
        System.out.println("读取数据:产品名称 - " + productName + ", 销售额 - " + salesAmount);

        // 更新单元格内容
        sheet.getCellRange("A4").setText("外套");
        sheet.getCellRange("B4").setNumberValue(1500.00);
        System.out.println("已添加新产品:外套,销售额:1500.00");

        // 修改已有单元格数据
        sheet.getCellRange("B3").setNumberValue(950.00);
        System.out.println("已更新裤子销售额为:950.00");

        // 插入一行
        sheet.insertRow(3); // 在第3行插入新行
        sheet.getCellRange("A3").setText("鞋子");
        sheet.getCellRange("B3").setNumberValue(750.00);
        System.out.println("已插入新行:鞋子,销售额:750.00");


        // 保存修改后的Excel文件
        try {
            workbook.saveToFile("UpdatedExcelDoc.xlsx", ExcelVersion.Version2016);
            System.out.println("Excel文档更新成功!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

此示例展示了如何加载一个已存在的Excel文件,读取指定单元格的内容,以及如何更新单元格数据和插入新行。Spire.XLS for Java的API设计直观,即使是复杂的操作也能通过几行代码实现。


总结

相信现在你已掌握了用Spire.XLS操作Excel的核心技巧,不妨在项目中一试身手。让代码帮你搞定重复劳动,把时间留给更有价值的技术挑战。希望这个方案能成为你的得力助手,让文档处理变得轻松高效!

相关推荐
h***04774 小时前
SpringBoot(7)-Swagger
java·spring boot·后端
v***91305 小时前
Spring boot创建时常用的依赖
java·spring boot·后端
代码or搬砖8 小时前
MyBatisPlus讲解(二)
java·mybatis
lcu1118 小时前
Java 学习42:抽象
java
Mr.朱鹏8 小时前
RocketMQ安装与部署指南
java·数据库·spring·oracle·maven·rocketmq·seata
雨中飘荡的记忆8 小时前
Spring表达式详解:SpEL从入门到实战
java·spring
Coder-coco8 小时前
个人健康管理|基于springboot+vue+个人健康管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·mysql·论文
5***26229 小时前
Spring Boot问题总结
java·spring boot·后端
xkroy9 小时前
Spring Boot日志
java·spring boot·后端
n***F8759 小时前
【Spring Boot】SpringBoot自动装配-Import
java·spring boot·后端