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的核心技巧,不妨在项目中一试身手。让代码帮你搞定重复劳动,把时间留给更有价值的技术挑战。希望这个方案能成为你的得力助手,让文档处理变得轻松高效!

相关推荐
带刺的坐椅4 小时前
Solon v3.4.7, v3.5.6, v3.6.1 发布(国产优秀应用开发框架)
java·spring·solon
四谎真好看5 小时前
Java 黑马程序员学习笔记(进阶篇18)
java·笔记·学习·学习笔记
桦说编程5 小时前
深入解析CompletableFuture源码实现(2)———双源输入
java·后端·源码
java_t_t5 小时前
ZIP工具类
java·zip
lang201509286 小时前
Spring Boot优雅关闭全解析
java·spring boot·后端
pengzhuofan6 小时前
第10章 Maven
java·maven
百锦再7 小时前
Vue Scoped样式混淆问题详解与解决方案
java·前端·javascript·数据库·vue.js·学习·.net
刘一说7 小时前
Spring Boot 启动慢?启动过程深度解析与优化策略
java·spring boot·后端
壹佰大多7 小时前
【spring如何扫描一个路径下被注解修饰的类】
java·后端·spring