首页 > 编程语言 >Java实现数据导出到excel文件

Java实现数据导出到excel文件

时间:2023-08-26 23:44:27浏览次数:39  
标签:Java wb fos 导出 excel createCell new setCellValue row

Java实现数据导出到excel文件

使用的依赖:Apache 提供的 poi 包

首先导入依赖

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.2</version>
 </dependency>

核心实现

//创建一个工作簿,也就是Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
//创建一个工作表
HSSFSheet sheet = wb.createSheet();
//创建一行
HSSFRow row = sheet.createRow(0);
//创建这一行的第一个单元格
HSSFCell cell = row.createCell(0);
//设置单元格的内容
cell.setCellValue("你好!");
//输出文件
//创建字节输出流
File file = new File("D://excel.xls");
FileOutputStream fos = new FileOutputStream(file);
wb.write(fos);
fos.flush();
fos.close();

这个工作表指的是这个

运行结果

现在你完成了往一个单元格里写数据,如果想要做成一个表格,那就需要循环

例如现在有一个需求:现在要统计学生的签到情况,需要把学生的签到记录导出到 Excel 表中

这里我们用假数据模拟,首先是实体类

public class CheckExcel {
    private String name;//姓名
    private Integer number;//学号
    private Date checkTime;//签到时间
}

主体程序

public class ToExcel {
    static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    public static void getExcel(List<CheckExcel> object) {
        //创建一个工作簿,也就是Excel文件
        HSSFWorkbook wb = new HSSFWorkbook();
        //创建一个工作表
        HSSFSheet sheet = wb.createSheet();
        //第一行,标题
        HSSFRow row0 = sheet.createRow(0);
        HSSFCell cell0 = row0.createCell(0);
        cell0.setCellValue(object.get(0).getCheckName() + "签到统计表");
        //第二行,表头
        HSSFRow row1 = sheet.createRow(1);
        row1.setRowStyle(style);
        row1.createCell(0).setCellValue("姓名");
        row1.createCell(1).setCellValue("学号");
        row1.createCell(2).setCellValue("签到时间");
        //表中数据
        int rowInt = 2;
        for (CheckExcel obj : object) {
            HSSFRow row = sheet.createRow(rowInt++);
            int cellInt = 0;
            row.createCell(cellInt++).setCellValue(obj.getName());
            row.createCell(cellInt++).setCellValue(obj.getNumber());
            row.createCell(cellInt).setCellValue(sdf.format(obj.getCheckTime()));//将日期转换成字符串,要不然存的是一个时间戳
        }
        try {
            //输出文件
            //创建字节输出流
            File file = new File("D://excel.xls");
            FileOutputStream fos = new FileOutputStream(file);
            wb.write(fos);
            fos.flush();
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("ToExcel.getExcel");
            System.out.println("IO出异常了");
        }
    }
    public static void main(String[] args) {
        List<CheckExcel> stu = new ArrayList<>();
        stu.add(new CheckExcel("学生1", 1001, "高等数学", new Date()));
        stu.add(new CheckExcel("学生2", 1002, "高等数学", new Date()));
        stu.add(new CheckExcel("学生3", 1003, "高等数学", new Date()));
        getExcel(stu);
    }  
}

标签:Java,wb,fos,导出,excel,createCell,new,setCellValue,row
From: https://www.cnblogs.com/tangyouwei/p/java-realizes-data-export-to-excel-file-tmihk.html

相关文章

  • java中的图算法
    Java中有许多用于图算法的库和框架。下面是一些常见的图算法及其在Java中的实现方式:广度优先搜索(BFS):BFS用于在图中搜索最短路径。在Java中,可以使用LinkedList和HashSet来实现BFS算法。深度优先搜索(DFS):DFS用于在图中搜索路径或查找连通分量。在Java中,可以使用递归或栈来实现DFS算法......
  • Java实现数据导出到excel文件
    Java实现数据导出到excel文件使用的依赖:Apache提供的poi包首先导入依赖<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.2</version></dependency>核心实现//创建一个工作簿,也就是Excel......
  • 基于JavaWeb的游戏信息管理系统设计与实现-计算机毕业设计源码
    摘要随着信息技术的发展,基于web模式的管理系统逐渐普及,网上查找信息是目前广受欢迎的模式。基于JavaWeb的游戏信息管理系统可以适应现代化快节奏的游戏方式,满足各类人群足不出户的在线查找游戏,利用基于JavaWeb的游戏信息管理系统可以获取游戏的排名信息,并可以记录个人的游戏数据,......
  • 基于Java的学生管理系统-计算机毕业设计源码+LW文档
    摘 要计算机信息技术的迅猛发展,改变了人们的生产生活方式。越来越多的教务管理使用管理系统进行管理,用来提高管理效率。在传统的教学管理中,往往通过大量的人力和物力进行管理,通过手工记录课程信息,统计科目资料。这种传统的管理方法容易出错,而且不能适应现代化、信息化的发展过程......
  • excel输出所在列的字母名称
    excel输出所在列的字母名称在Excel中,你可能希望根据某个单元格的引用(例如,"B3"或"AA10")获取列的字母名称。这可以通过使用Excel的公式来实现。下面是一个简单的Excel公式,它将返回一个单元格的列名称:=SUBSTITUTE(ADDRESS(1,COLUMN(A1),4),"1","")其中A1是你想要查询的单元格引用。所......
  • Java字符串替换
    JavaStringreplaceAll详解总结:Java编译期\为转义符,运行期正则表达式\为转义符,正则表达式匹配\需使用\\。replace为普通字符串替换,replaceAll为正则表达式替换(第一个参数为正则表达式,第二个参数中\为转义字符,$为正则字符),第二个参数表示\需使用\\。示例:替换字符串中的""......
  • office-js操作Excel
    office-js是OfficeAdd-ins中的一个JavaScript库,用于在Office应用程序中创建自定义功能。它提供了一组API,可以与Excel进行交互,包括读取和写入数据、格式化单元格等。 以下是一些常用的office-js操作Excel的方法及其详细参数说明: 1.打开Excel文件: ```javascriptExcel.ru......
  • Java实现数据导出到excel文件
    使用的依赖:Apache提供的poi包首先导入依赖<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.2</version></dependency> 核心实现//创建一个工作簿,也就是Excel文件HSSFWorkbookwb=n......
  • 一次Java内存占用高的排查案例,解释了我对内存问题的所有疑问
    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。问题现象7月25号,我们一服务的内存占用较高,约13G,容器总内存16G,占用约85%,触发了内存报警(阈值85%),而我们是按容器内存60%(9.6G)的比例配置的JVM堆内存。看了下其它服务,同样的堆内存配置,它们内存占用约70%~79%,......
  • JavaScript中实现类与类继承
    new操作符调用的作用如果一个函数被使用new操作符调用了,那么它会执行如下操作:1.在内存中创建一个新的对象(空对象);2.这个对象内部的[[prototype]]属性会被赋值为该构造函数的prototype属性;(后面详细讲);3.构造函数内部的this,会指向创建出来的新对象;4·执行函数的内部代码(函数体代码);5·......