一:简介

利用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的简单使用的更多相关文章

  1. 利用Apache POI 实现简单的Excel表格导出

    1.利用POI API实现简单的Excel表格导出 首先假设一个学生实体类: package com.sun.poi.domain; import java.io.Serializable; impo ...

  2. poi控制简单的word

    官方model网址:http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/e ...

  3. springboot2.1.8使用poi导出数据生成excel(.xlsx)文件

    前言:在实际开发中经常需要将数据库的数据导出成excel文件,poi方式则是其中一种较为常用的导出框架.简单读取excel文件在之前的一篇有说明 本项目实现需求:user发出一个导出student信息 ...

  4. Java读取Excel文件的几种方法

    Java读取 Excel 文件的常用开源免费方法有以下几种: 1. JDBC-ODBC Excel Driver 2. jxl.jar 3. jcom.jar 4. poi.jar 简单介绍: 百度文 ...

  5. SpringMvc 关于 EXCEL

    概述 我在使用SpingMvc 的EXCEL的发现传统的 AbstractJExcelView jexcel api已经过时 AbstractView poi Api 通过阅读官方文档发现建议我们使用 ...

  6. Java学习---Excel读写操作

    1.1.1. 简介 Apache POI 使用Apache POI 完成Excel读写操作 Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API ...

  7. Windbg 脚本命令简介 一

    Windbg  脚本命令简介 一 Windbg command r: registers的简写,可以显示或修改寄存器的值.浮点寄存器的值.定义别名变量. 可以显示当前线程下的寄存器值. The r c ...

  8. [实战篇入门]01-POI读Excel

    这一章的内容就是告诉各位同学如何入门POI的简单使用,再之后我们还会学习如何封装模版,由于个人时间问题,不定期更新!如果有需要,请再QQ中联系我,好了,开始工作! 新建一个Java项目,首先需要一些列 ...

  9. 利用freemarker导出页面格式复杂的excel

    刚开始大家可能会利用poi生成简单的excel,但是遇到需要生成复杂的excel,poi导出excel就比较困难,这时候可以利用freemarker来渲染实现实现生成复杂的excel, 首先,将exc ...

随机推荐

  1. [ios][map]自定义地图标注

    参考:http://blog.csdn.net/mad1989/article/details/8794762 ios 一步一步学会自定义地图吹出框(CalloutView)-->(百度地图,高 ...

  2. Solaris 11, gcc 的安装

    注意点在于, 头文件在另外一个包system/header里,需要另外安装 pkg pkg install system/header

  3. mac外接显示器 双屏同时滑动问题

    问题:mac pro 外接一个显示器,用四个手指横向切换屏幕的时候,外接的显示器也一起跟着动了   解决:      

  4. 《图解Http》 HTTPS 安全协议

    相关博客:https://www.cnblogs.com/chentianwei/p/9374341.html  (讲的更明白,有图) HTTPS 7.1http的缺点 使用明文,内容会被窃听. 不验 ...

  5. codeforces 578b//"Or" Game// Codeforces Round #320 (Div. 1)

    题意:n个数字,最多操作k次,每次乘x,要使结果数组的与值最大. 能推断出结果是对一个元素操作k次,并且这个元素的二进制最高位比较大.并不一定是取最大的,比如1100和1010,乘以一次2,两种选法分 ...

  6. splay板子

    1, splay的一些基本操作. 使用前要插入$-INF,+INF$保证每个点的前驱后继存在. $get$函数在$x$存在时, 调用后, 根为$x$, 否则根为$x$的前驱或后继 const int ...

  7. 『TensorFlow』通过代码理解gan网络_中

    『cs231n』通过代码理解gan网络&tensorflow共享变量机制_上 上篇是一个尝试生成minist手写体数据的简单GAN网络,之前有介绍过,图片维度是28*28*1,生成器的上采样使 ...

  8. Leetcode 115

    Ø r a b b b i t Ø r a b b i t class Solution { public: int numDistinct(string s, string t) { ; ; int ...

  9. PaodingAnalysis 提示 "dic home should not be a file, but a directory"

    Exception in thread "main" net.paoding.analysis.exception.PaodingAnalysisException: dic ho ...

  10. vue 表单校验(二)

    vue 表单校验(二) vue element-ui表单校验 由于现在使用element-ui进行form表单校验,因而使用其自带的校验规则进行校验,发现有些并不是那么好校验,或者说是校验起来很繁琐, ...