使用Java将各种数据写入Excel表格的操作示例

2025-05-14 04:23:55 130
魁首哥

前言

在数据处理与管理领域,excel 凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具。在 java 开发过程中,常常需要将不同类型的数据,如文本、数值、数组以及 datatable 数据写入 excel 文件,以满足各种业务需求。本文将详细介绍如何使用一个免费 java库实现将数据导入excel这一功能,为你在数据处理方面提供有力的支持。

安装免费java库

在开始编码前,需在项目中安装free spire.xls for java免费库。该库支持多种excel处理功能,能轻松创建、读取、修改和转换 excel 文件。

如果你使用 maven 项目,可在 pom.xml 中添加以下依赖:


    
        com.e-iceblue
        e-iceblue
        https://repo.e-iceblue.cn/repository/maven-public/
    


    e-iceblue
    spire.xls.free
    5.3.0

也可以从该链接下载产品包后手动引入jar包:下载免费java excel控件

java代码示例

1. 写入文本、或数值到 excel单元格

我们可以通过以下两种方式写入数据到指定单元格:

  • 写入文本:worksheet.get().settext()worksheet.get().setvalue()方法。
  • 写入数字:worksheet.get().setnumbervalue()属性
import com.spire.xls.*;

public class writetextnumber {

    public static void main(string[] args) {

        // 创建一个excel工作簿
        workbook workbook = new workbook();

        // 获取其中第一张工作表
        worksheet worksheet = workbook.getworksheets().get(0);

        // 写入数据到指定单元格
        worksheet.get("a1").settext("考号");
        worksheet.get("b1").settext("学生姓名");
        worksheet.get("c1").setvalue("所在班级");
        worksheet.get("d1").setvalue("考试成绩");

        worksheet.get("a2").setvalue("ts001");
        worksheet.get("b2").settext("陈国柏");
        worksheet.get("c2").settext("5班");
        worksheet.get("d2").setnumbervalue(97);

        worksheet.get("a3").setvalue("ts002");
        worksheet.get("b3").settext("易江维");
        worksheet.get("c3").settext("2班");
        worksheet.get("d3").setnumbervalue(92);

        //设置字体样式
        worksheet.get("a1:d1").getstyle().getfont().isbold(true);
        worksheet.get("a1:d3").getstyle().getfont().setsize(11);
        worksheet.get("a1:d3").getstyle().getfont().setfontname("宋体");

        // 保存excel文件
        workbook.savetofile("写入数据到单元格.xlsx", excelversion.version2016);
    }
}

生成文件:

2. 写入数组到 excel表格

对于一维或二维数组,可以使用worksheet.insertarray(object[][] objectarray, int firstrow, int firstcolumn)方法将数组中的数据插入到工作表中指定位置。

import com.spire.xls.*;

public class writearraytoworksheet {

    public static void main(string[] args) {

        // 创建一个excel工作簿
        workbook workbook = new workbook();

        // 获取其中第一张工作表
        worksheet worksheet = workbook.getworksheets().get(0);

        // 创建一个二维数组
        string[][] twodimensionalarray = new string[][]{
                {"统计年份", "城市", "销售额", "增长率"},
                {"2021", "上海", "150万", "55%"},
                {"2021", "杭州", "80万", "-12%"},
                {"2021", "北京", "100万", "20%"}
        };

        // 将数组写入工作表指定位置
        worksheet.insertarray(twodimensionalarray, 1, 1);

        //设置字体样式
        worksheet.get("a1:d1").getstyle().getfont().isbold(true);
        worksheet.get("a1:d4").getstyle().getfont().setsize(11);
        worksheet.get("a1:d4").getstyle().getfont().setfontname("宋体");

        // 保存excel文件
        workbook.savetofile("写入数组.xlsx", excelversion.version2016);
    }
}

生成文件:

3. 写入 datatable 数据到 excel表格

我们可以定义一个 datatable 类来表示数据表格并添加数据行,然后使用 worksheet.insertdatatable(datatable datatable,boolean columnheaders, int firstrow, int firstcolumn, boolean transtypes) 方法将datatable的数据插入到工作表中指定位置。

import com.spire.data.table.datarow;
import com.spire.data.table.datatable;
import com.spire.xls.*;

import java.text.decimalformat;

public class writedatatabletoworksheet {

    public static void main(string[] args) throws exception {

        // 创建一个excel工作簿
        workbook workbook = new workbook();

        // 获取其中第一张工作表
        worksheet worksheet = workbook.getworksheets().get(0);

        // 创建datatable对象
        datatable datatable = new datatable();
        datatable.getcolumns().add("编码", integer.class);
        datatable.getcolumns().add("产品", string.class);
        datatable.getcolumns().add("单价", decimalformat.class);

        // 创建行并添加数据
        datarow dr = datatable.newrow();
        dr.setint(0, 110600015);
        dr.setstring(1,"数据线");
        dr.setstring(2,"8.5");
        datatable.getrows().add(dr);

        dr = datatable.newrow();
        dr.setint(0,110600037);
        dr.setstring(1,"鼠标");
        dr.setstring(2,"29.9");
        datatable.getrows().add(dr);

        dr = datatable.newrow();
        dr.setint(0,110600021);
        dr.setstring(1,"网线");
        dr.setstring(2,"15.5");
        datatable.getrows().add(dr);

        // 将datatable中的数据写入工作表
        worksheet.insertdatatable(datatable,true,1,1,true);

        //设置字体样式
        worksheet.get("a1:d1").getstyle().getfont().isbold(true);
        worksheet.get("a1:d4").getstyle().getfont().setsize(11);
        worksheet.get("a1:d4").getstyle().getfont().setfontname("宋体");

        // 保存excel文件
        workbook.savetofile("写入datatable.xlsx", excelversion.version2016);
    }
}

生成文件:

总结:

通过以上示例, 我们可以通过java编程语言将各种数据写入excel表格。

到此这篇关于使用java将各种数据写入excel表格的操作示例的文章就介绍到这了,更多相关java数据写入excel表格内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

分享
海报
130
上一篇:Java并发编程之如何优雅关闭钩子Shutdown Hook 下一篇:Java Optional介绍和用法示例解析

忘记密码?

图形验证码