1. 先导包

commons-io-2.6.jar包,用于对文件的操作。

下载地址:http://commons.apache.org/proper/commons-io/download_io.cgi

poi-3.17.jar包,对Excel表的操作。

下载地址:http://poi.apache.org/download.html#POI-3.17

2. 假设Excel表的表头和主体内容

 //表头数组
String[] title = {"id","username","password","gender","address"};
//主体内容
String[][] sheetBodyValue = {
{"001","test1","123456","男","中国北京"},
{"002","test2","123456","女","中国北京"},
{"003","test3","123456","男","中国北京"},
{"004","test4","123456","女","中国北京"}
};

3. 创建Excel表

 HSSFWorkbook workBook = new HSSFWorkbook();

4. 创建excel页面,即sheet

 HSSFSheet sheet = workBook.createSheet();

5. 创建表头行

 //创建第index行 sheet.createRow(index)
HSSFRow titleRow = sheet.createRow(0);

6. 创建表头单元格,并遍历表头数组,设置表头

 for (int i = 0; i < title.length; i++) {
HSSFCell titleCell= titleRow.createCell(i);
titleCell.setCellValue(title[i]);
}

7. 从第二行开始创建主体内容

 for (int i = 1; i <= sheetBodyValue.length; i++) {
//创建第i行
HSSFRow bodyRow = sheet.createRow(i);
//创建单元格,并为每个单元格赋值
for (int j = 0; j < sheetBodyValue[0].length; j++) {
HSSFCell bodyCell = bodyRow.createCell(j);
bodyCell.setCellValue(sheetBodyValue[i-1][j]);
}
}

8. 创建文件,用文件输出流输出数据

 File file = new File("D:/poi_text.xls");
try {
file.createNewFile();
FileOutputStream outputStream = FileUtils.openOutputStream(file);
workBook.write(outputStream);
outputStream.close();//记得关闭输出流
} catch (IOException e) {
e.printStackTrace();
}

9. 最后附上全部代码

 import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException; import org.apache.commons.io.FileUtils;
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; public class testExcel { @SuppressWarnings("resource")
public static void createExcel(){
//表头数组
String[] title = {"id","username","password","gender","address"};
//主体内容
String[][] sheetBodyValue = {
{"001","test1","123456","男","中国北京"},
{"002","test2","123456","女","中国北京"},
{"003","test3","123456","男","中国北京"},
{"004","test4","123456","女","中国北京"}
}; //创建excel表
HSSFWorkbook workBook = new HSSFWorkbook();
//创建excel页面,即sheet
HSSFSheet sheet = workBook.createSheet();
//创建表头行,第index行 sheet.createRow(index)
HSSFRow titleRow = sheet.createRow(0); //创建表头,第一行
for (int i = 0; i < title.length; i++) {
HSSFCell titleCell= titleRow.createCell(i);
titleCell.setCellValue(title[i]);
} //从第二行开始创建主体内容
for (int i = 1; i <= sheetBodyValue.length; i++) {
HSSFRow bodyRow = sheet.createRow(i);//创建第i行
for (int j = 0; j < sheetBodyValue[0].length; j++) {
HSSFCell bodyCell = bodyRow.createCell(j);
bodyCell.setCellValue(sheetBodyValue[i-1][j]);
}
}
//创建文件
File file = new File("D:/poi_text.xls");
try {
file.createNewFile();
FileOutputStream outputStream = FileUtils.openOutputStream(file);
workBook.write(outputStream);
outputStream.close();//记得关闭输出流
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
createExcel();
}
}

本人也是初次接触POI对Excel表的操作,还有很多关于POI操作的知识点需要去掌握。

写一下个人对导出Excel表的操作小结。

希望与君共勉,共同进步。

POI对Excel的操作的更多相关文章

  1. POI对EXCEL的操作【重点:如何设置CELL格式为文本格式】

    实际开发过程中通常用到的就是从数据库导出EXCEL表格了,JXL可以这样做,其实POI也可以(关于JXL与POI的异同可访问我之前总结的文章),之前写过POI对七种文档(当然也包括EXCEL)的内容读 ...

  2. 学会简单使用poi进行excel有关操作

    直接上代码: 官网上的抄的api例子: package com.test; import java.io.File; import java.io.FileInputStream; import ja ...

  3. jspsmart(保存文件)+poi(读取excel文件)操作excel文件

    写在前面: 项目环境:jdk1.4+weblogic 需求:能上传excel2003+2007 由于项目不仅需要上传excel2003,还要上传excel2007,故我们抛弃了jxl(只能上传exce ...

  4. poi对EXCEL的操作(一)

    (原创自己这段时间对poi的研究心得) 一.基础的对象 1.wookbook工作簿 创建工作簿 wookbook  XSSFWorkbook类的构造方法           XSSFWorkbook ...

  5. 使用POI对excel进行操作生成二维数组

    import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...

  6. poi对excel的操作(二)

    二.进阶的对象 1.CellType 枚举类 单元格类型 CellType.STRING---文本型 等 如何是指单元格类型:cell.setCellType(CellType.STRING) 2.C ...

  7. 使用POI进行Excel操作的总结一——创建Workbook,Sheet,Row以及Cell

    前段时间,看在其他的网站上给出Excel文档的导入与导出操作,感觉很酷的样子,所以就学习了一下如何使用POI进行Excel的操作,现在对之前的学习过程进行一个总结. 一.现在普遍使用的Excel文档有 ...

  8. 用POI导出excel时,较长的数字不想被自动变为科学计数法的解决方式(转)

    做过很多次导出excel了.都碰到一个问题,内容里如果包含一个比较长的数字,比如订单号“2546541656596”,excel会自动变成科学计数法... 弄过好几次都没有解决,最近又要导出excel ...

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

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

随机推荐

  1. linux下面重启nfs报错:nfs-server.service:main process exited

    linux下面重启nfs报错:nfs-server.service:main process exited [root@dhcp-66-83-39 images]# service rpcbind s ...

  2. 产品大神1--工具axure

    一,axure安装 链接:https://pan.baidu.com/s/1rb3SH5HSogP1k_ARTZTflA 提取码:084p 二,axure8.0的使用 因为下面的文章都已经写的非常详细 ...

  3. Python列表的三种遍历(序号和值)的方法

    #-×-coding:utf-8-*- if _name_=='_main_': list=['html','js','css','python'] #方法1 print ‘遍历列表方法1’ for ...

  4. ToastUtils 工具类

    package com.example.grenaderose.redthunder.utils; import android.content.Context; import android.os. ...

  5. TreeView的三种状态,全选,全不选,半选中

    我知道的设置treeview节点的三种状态,如果不是买的控件,那么通过代码,只能设置两种状态,我知道的有三种方法, 第一种是重写treeview,第二种是把三种状态做成小图标,让节点复选框随着不同的状 ...

  6. [leetcode]272. Closest Binary Search Tree Value II二叉搜索树中最近的值2

    Given a non-empty binary search tree and a target value, find k values in the BST that are closest t ...

  7. promise之我见

    在我们平时的方法中有很多方法是promise封装的, 有些函数后边跟的then和catch 就是promise的方法,先看一下pormise的特点 (1)对象的状态不受外界影响.Promise对象代表 ...

  8. Linux-Centon7安装以及配置

    环境:MacOS 10.13.6 虚拟机:VirtualBox6.0(VirtualBox-6.0.4-128413-OSX.dmg) Linux:Centos7(CentOS-7-x86_64-Mi ...

  9. Struct2 基础介绍

    前面花一周时间学习了servlet+jsp+mysql, 并且简单实现了登录注册等操作.对Servlet应用有了基础了解! 关于Struct2这个经常听说,但是自己没有用过.今天在这学习总结下,目的是 ...

  10. redis缓存雪崩,缓存穿透,缓存击穿的解决方法

    一.缓存雪崩 缓存雪崩表示在某一时间段,缓存集中失效,导致请求全部走数据库,有可能搞垮数据库,使整个服务瘫痪. 使缓存集中失效的原因: 1.redis服务器挂掉了. 2.对缓存数据设置了相同的过期时间 ...