java 导出Excel文件
2024-10-03 13:14:22
最近在做一个文件导出功能,发现大部分博客上通过引用各种的util工具包,其实说白了还是利用apache的poi,在项目中直接导入poi包就可以。直面其原理,随个人喜好封装。
1、首先准备一些poi的jar包
1、首先准备一些poi的jar包
2、准备好jar包之后就可以写代码了,接下来我就把代码写简单,让大家都能看懂。至于你后面想用多么牛逼的代码实现它,都可以,只要原理懂了,其它的都不是事,对吧。
首先我要建一个实体类:Student.class
package testExport; /** * * @author lf * */ public class Student { private Integer id; private String name; private String sex; public Integer getId() { return id; } public void setId(Integer id) { this .id = id; } public String getName() { return name; } public void setName(String name) { this .name = name; } public String getSex() { return sex; } public void setSex(String sex) { this .sex = sex; } } 还有一个导出类 ExportExcel.class package testExport; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.swing.JOptionPane; //下面是和数据导出有关的包 import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class ExportExcel { public void Export(){ // 声明一个工作薄 HSSFWorkbook wb = new HSSFWorkbook(); //声明一个单子并命名 HSSFSheet sheet = wb.createSheet(学生表); //给单子名称一个长度 sheet.setDefaultColumnWidth(( short ) 15 ); // 生成一个样式 HSSFCellStyle style = wb.createCellStyle(); //创建第一行(也可以称为表头) HSSFRow row = sheet.createRow( 0 ); //样式字体居中 style.setAlignment(HSSFCellStyle.ALIGN_CENTER); //给表头第一行一次创建单元格 HSSFCell cell = row.createCell(( short ) 0 ); cell.setCellValue(学生编号); cell.setCellStyle(style); cell = row.createCell( ( short ) 1 ); cell.setCellValue(学生姓名); cell.setCellStyle(style); cell = row.createCell(( short ) 2 ); cell.setCellValue(学生性别); cell.setCellStyle(style); //添加一些数据,这里先写死,大家可以换成自己的集合数据 List<student> list = new ArrayList<student>(); list.add( new Student( 111 ,张三,男)); list.add( new Student( 111 ,李四,男)); list.add( new Student( 111 ,王五,女)); //向单元格里填充数据 for ( short i = 0 ; i < list.size(); i++) { row = sheet.createRow(i + 1 ); row.createCell( 0 ).setCellValue(list.get(i).getId()); row.createCell( 1 ).setCellValue(list.get(i).getName()); row.createCell( 2 ).setCellValue(list.get(i).getSex()); } try { //默认导出到E盘下 FileOutputStream out = new FileOutputStream(E: //学生表.xls); wb.write(out); out.close(); JOptionPane.showMessageDialog( null , 导出成功!); } catch (FileNotFoundException e) { JOptionPane.showMessageDialog( null , 导出失败!); e.printStackTrace(); } catch (IOException e) { JOptionPane.showMessageDialog( null , 导出失败!); e.printStackTrace(); } } } 下面看一下效果图: |
最新文章
- android studio 和idea 导入library工程
- 【MySQL】MySQL 如何实现 唯一随机数ID
- careercup-递归和动态规划 9.5
- HDU 4405 Aeroplane chess(期望)
- B-树、B+树、B*树的区别
- php设计模式之:观察者模式
- T-SQL编程语句
- Linux服务器运维基本命令
- VS 2017 激活码
- Windows挂载NFS共享盘
- pytorch怎么抽取中间的特征或者梯度
- 安装Kali linux
- Oracle 批量修改字段长度
- python 数据可视化 -- 真实数据的噪声平滑处理
- salt-api配置安装 以及使用
- SQL2008:WITH MOVE 子句可用于重新定位一个或多个文件
- 在WPF中将图片转换成3D图像并可以旋转
- java实现超大整数加减乘除四则运算
- 《Programming iOS 7》读书笔记 - 窗体大小与状态栏
- Centos7网络配置(VMware)
热门文章
- Maintaining Your Signing Identities and Certificates 维护你的签名标识和证书
- App软件开发的10个常用技巧
- python的paramiko源码修改了一下,写了个操作命令的日志审计 bug修改
- [PointCloud] GICP
- [QGLViewer]First Demo
- 【转】ubuntu 重启命令,ubuntu 重启网卡方法
- SQL*Plus命令行工具连接Oracle数据库
- maven私有库配置
- dotfiles管理
- #添加图片,最多只能上传9张.md