java创建excel文件和解析excel文件

创建excel文件

java 复制代码
package com.bjpowernode.crm.poi;

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

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class CreateExcel {
    public static void main(String[] args) throws IOException {
        //创建HSSFWordbook对象,对应一个Excel文件
        HSSFWorkbook wb = new HSSFWorkbook();//
        //使用wb创建HSSFSheet对象,对应wb文件的中的一页
        HSSFSheet sheet = wb.createSheet("学生列表");
        //使用sheet创建HSSFRow对象,对应sheet中的一行
        HSSFRow row = sheet.createRow(0);//行号,从0开始,一次递增
        //使用rwo创建HSSFCell对象,对应row中的列
        HSSFCell cell = row.createCell(0);//列号,从0开始,一次递增
        //他贵儿勒个有点神,变量名字可以重复
        cell.setCellValue("学号");
        cell = row.createCell(1);
        cell.setCellValue("姓名");
        cell = row.createCell(2);
        cell.setCellValue("年龄");
        //生成HSSFCellStyle对象
        //居中样式
        HSSFCellStyle style = wb.createCellStyle();
        style.setAlignment(HorizontalAlignment.CENTER);
        //使用sheet创建10个HSSFRow对象,对应sheet中的10行
        for (int i = 1; i < 10; i++) {
            row = sheet.createRow(i);
            cell = row.createCell(0);
            cell.setCellValue(100+i);
            cell = row.createCell(1);
            cell.setCellValue("NAME"+i);
            cell = row.createCell(2);
            cell.setCellStyle(style);
            cell.setCellValue(20+i);
        }
        //调用工具函数生成excel文件
        //文件可以不创建,但是目录必须存在
        OutputStream os = new FileOutputStream("D:\\dev.kai\\crm项目工具\\客户端已经有的文件\\studentList.xls");
        wb.write(os);
        //关闭资源
        os.close();
        wb.close();
        System.out.println("====creatOk");
    }
}

运行结果

解析excel文件

java 复制代码
package com.bjpowernode.crm.poi;

import com.bjpowernode.crm.commons.utils.HSSFUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import java.io.FileInputStream;

/**
 * 使用apache-poi解析excel文件
 */

public class ParseExcelTest {
    public static void main(String[] args) throws Exception {
        //根据excel文件生成HSSFWorkbook对象,封装了excel文件的所有信息
        FileInputStream is = new FileInputStream("D:\\dev.kai\\crm项目工具\\服务器端生成的excel文件\\studentList.xls");
        HSSFWorkbook wb = new HSSFWorkbook(is);
        //根据wb获取HSSFSheet对象,封装了一页的所有信息
        HSSFSheet sheet = wb.getSheetAt(0);//页的下标,下标为0开始时,依次递增
        //根据sheet获取HSSFRow对象,封装了一行的所有信息
        HSSFRow row =null;
        HSSFCell cell=null;
        for (int i = 0; i <= sheet.getLastRowNum(); i++) {//sheet.getLastRowNum();最后一行的下标
            row= sheet.getRow(i);//行的下标,下标从0开始,依次增加
            for (int j = 0; j < row.getLastCellNum(); j++) {//row.getLastCellNum();最后一列的下标+1
                //根据row获取HSSFCell对象,封装了一列的所有信息
                cell = row.getCell(j);
                //获取列中的数据
                System.out.print(HSSFUtils.getCellValueForStr(cell)+" ");
            }
            //每一行中所有列都打完,打印一个换行
            System.out.println();
        }
    }
}
相关推荐
腻害兔11 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
GetcharZp12 小时前
抛弃低效SSH!这套Ansible+Web可视化神器,让你天天准点下班!
后端
码智社12 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
萧瑟余晖13 小时前
JDK 26 新特性详解
java·开发语言
马优晨14 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
weixin_4462608515 小时前
HACO:面向动态部署环境的对冲式智能计算可靠多智能体调度框架
后端·python·flask
ttwuai16 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
用户83562907805116 小时前
Python 实现 Excel 页面布局与打印设置自动化
后端·python
维天说16 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json