POI的简单使用
一:简介
利用POI工具可以导出word,excel,ppt等office文件
二:程序代码示例
package com.wang.test; import java.io.File;
import java.io.FileOutputStream;
import java.util.Calendar;
import java.util.Date; import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class Test {
public static void main(String[] args) throws Exception{
//创建工作簿
HSSFWorkbook wb=new HSSFWorkbook();
//创建工作表
HSSFSheet sheet1=wb.createSheet("first sheet");
HSSFSheet sheet2=wb.createSheet("second sheet");
//创建row
HSSFRow row=sheet1.createRow(0);
//创建单元格
HSSFCell cell=row.createCell(0);
cell.setCellValue(false);
row.createCell(1).setCellValue(Calendar.getInstance());
row.createCell(2).setCellValue(new Date());
row.createCell(3).setCellValue(123456.654321);
String str="abcdefghi"; //创建数据格式对象
HSSFDataFormat format=wb.createDataFormat();
//创建单元格样式
HSSFCellStyle style=wb.createCellStyle(); //对日期格式化
style.setDataFormat(format.getFormat("yyyy-MM-dd HH:mm:ss"));
//应用样式给单元格
row.getCell(1).setCellStyle(style);
row.getCell(2).setCellStyle(style); //对double值格式化
style=wb.createCellStyle();
style.setDataFormat(format.getFormat("#.00"));
row.getCell(3).setCellStyle(style); //设置列宽,注意:列宽相对于sheet的。
sheet1.setColumnWidth(1, 3000);
//也可以自动调节列宽
sheet1.autoSizeColumn(2);
sheet1.setColumnWidth(4, 7000);
//自动回绕文本,把太长的字符串换行显示
row=sheet1.createRow(1);
row.createCell(0).setCellValue("左上");
row.createCell(1).setCellValue("中间");
row.createCell(2).setCellValue("右下"); //设置行高
row.setHeightInPoints(50);
sheet1.setColumnWidth(0, 5000);
sheet1.setColumnWidth(1, 5000);
sheet1.setColumnWidth(2, 5000); //设置对齐方式--左上
style=wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_LEFT);
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_TOP);
row.getCell(0).setCellStyle(style); //设置对齐方式--中间
style=wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
row.getCell(1).setCellStyle(style); //设置对齐方式--右下
style=wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_BOTTOM);
row.getCell(2).setCellStyle(style); //重点:计算列
row=sheet1.createRow(3);
row.createCell(0).setCellValue(13);
row.createCell(1).setCellValue(45);
row.createCell(2).setCellValue(25);
row.createCell(3).setCellFormula("sum(A4:C4)");
//导出到磁盘
wb.write(new FileOutputStream(new File("f:/poi.xls")));
}
}
效果:

POI的简单使用的更多相关文章
- 利用Apache POI 实现简单的Excel表格导出
1.利用POI API实现简单的Excel表格导出 首先假设一个学生实体类: package com.sun.poi.domain; import java.io.Serializable; impo ...
- poi控制简单的word
官方model网址:http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/e ...
- springboot2.1.8使用poi导出数据生成excel(.xlsx)文件
前言:在实际开发中经常需要将数据库的数据导出成excel文件,poi方式则是其中一种较为常用的导出框架.简单读取excel文件在之前的一篇有说明 本项目实现需求:user发出一个导出student信息 ...
- Java读取Excel文件的几种方法
Java读取 Excel 文件的常用开源免费方法有以下几种: 1. JDBC-ODBC Excel Driver 2. jxl.jar 3. jcom.jar 4. poi.jar 简单介绍: 百度文 ...
- SpringMvc 关于 EXCEL
概述 我在使用SpingMvc 的EXCEL的发现传统的 AbstractJExcelView jexcel api已经过时 AbstractView poi Api 通过阅读官方文档发现建议我们使用 ...
- Java学习---Excel读写操作
1.1.1. 简介 Apache POI 使用Apache POI 完成Excel读写操作 Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API ...
- Windbg 脚本命令简介 一
Windbg 脚本命令简介 一 Windbg command r: registers的简写,可以显示或修改寄存器的值.浮点寄存器的值.定义别名变量. 可以显示当前线程下的寄存器值. The r c ...
- [实战篇入门]01-POI读Excel
这一章的内容就是告诉各位同学如何入门POI的简单使用,再之后我们还会学习如何封装模版,由于个人时间问题,不定期更新!如果有需要,请再QQ中联系我,好了,开始工作! 新建一个Java项目,首先需要一些列 ...
- 利用freemarker导出页面格式复杂的excel
刚开始大家可能会利用poi生成简单的excel,但是遇到需要生成复杂的excel,poi导出excel就比较困难,这时候可以利用freemarker来渲染实现实现生成复杂的excel, 首先,将exc ...
随机推荐
- [ios]received memory warning
参考:http://blog.sina.com.cn/s/blog_68661bd80101nn6p.html IPhone下每个app可用的内存是被限制的,如果一个app使用的内存超过20M,则系统 ...
- NIO 之 ByteBuffer
前言 对于刚接触ByteBuffer人来说,想要完全理解会稍微有点困难,正巧前几天有人问我,想到好久没写文章,就整理一下. 概念理解 对于ByteBuffer的一些概念不理解的情况下,如果直接打开源码 ...
- HDU 6114 Chess
Chess 思路:求C(n,m),除法取余用乘法逆元算. 代码: #include<bits/stdc++.h> using namespace std; #define ll long ...
- Codeforces 837D - Round Subset(dp)
837D - Round Subset 思路:dp.0是由2*5产生的. ①dp[i][j]表示选i个数,因子2的个数为j时因子5的个数. 状态转移方程:dp[i][j]=max(dp[i][j],d ...
- t-SNE 聚类
一个有效的数据降维的方法 t-SNE,类似PCA的主成分降维分析. 参考: t-分布邻域嵌入算法(t-SNE algorithm)简单理解 t-SNE初学 很好的教程:An illustrated i ...
- python下编译py成pyc和pyo和pyd
https://www.cnblogs.com/dkblog/archive/2009/04/16/1980757.html
- ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等--绘制点、线、圆,显示提示信息
ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等--绘制点.线.圆,显示提示信息 /// <summary> /// 绘制界面上的点和线 /// ...
- 利用Py-Socket模块做的一个不登陆windows服务器自动实现替换或者调用自动拨号功能
xu言: 最近,有个朋友让我帮忙“搞点事情”,然后正好在学习socket模块,这个模块666啊,基本上可以实现远程服务器cmd shell的大部分功能.好,话不多说,直接上码~ 由于很多电信运营商都会 ...
- Hackintosh Power Management
Also, be aware that hibernation (suspend to disk or S4 sleep) is not supported on hackintosh. You sh ...
- python-day8-列表的内置方法
# l=[1,2,3] #l=list([1,2,3])# print(type(l)) #pat1===>优先掌握部分# 索引## 切片l=['a','b','c','d','e','f'] ...