Java POI控制excel实现数据的输入导出

 问题描述::

       最近在工作中,实现这样一个功能,将界面中table中的数据传输到excel中,并保存到指定位置。

问题分析::

将table中的数据导出到excel中,就需要用程序来控制excel中的数据格式,换句话来说,用Java程序来定义一个报表,然后将table中的数据传输到报表中,现的问题是:

Java程序如何设置一个报表呢?excel的表格有行有列,如何控制行列之间的关系,如何定义表头,如何输入数据等等。如下图的报表形式:

Java POI控制excel实现数据的输入导出
  

Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。Java使用poi组件导出excel报表,能导出excel报表的还可以使用jxl组件,但jxl想对于poi功能有限,jxl应该不能载excel插入浮动层图片,poi能很好的实现输出excel各种功能,介绍poi导出excel功能实现案例,算比较常用的功能实现以及导出excel需要注意的地方,采用的是poi-3.8-20120326.jar,poi-ooxml-3.8-20120326.jar,poi-scratchpad-3.8-20120326.jar

JAVA语言操作excel的api主流有两种方式:
1、POI Apache它是用来操作Office所有的软件excel/word/ppt/..。而且支持所有版本。
2、JXL 它是用来操作excel 2003以下版本,2007以上版本不支持。

 jar包下载:

官网:http://poi.apache.org/download.html

百度云:http://pan.baidu.com/s/1bpp0C9p

密码:p45i

包名称说明

  •   HSSF提供读写Microsoft Excel XLS格式档案的功能。
  • XSSF提供读写Microsoft Excel OOXML XLSX格式档案的功能。
  • HWPF提供读写Microsoft Word DOC格式档案的功能。
  • HSLF提供读写Microsoft PowerPoint格式档案的功能。
  • HDGF提供读Microsoft Visio格式档案的功能。
  • HPBF提供读Microsoft Publisher格式档案的功能。
  • HSMF提供读Microsoft Outlook格式档案的功能。

Java  poi和excel对应的关系:

Java POI控制excel实现数据的输入导出

Java POI控制excel实现数据的输入导出

 

Java POI控制excel实现数据的输入导出

Javapoi常用的方法:Java中POI操作Excel常用方法        JAVA POI的使用

InputStream in = new FileInputStream(new File("XXX.xlsx"));
// 创建工作簿
XSSFWorkbook workBook = new XSSFWorkbook(inputStream);
// 创建sheet
XSSFSheet sheet = workBook.createSheet(sheetName);
// 创建行
XSSFRow row = sheet.createRow(rowIndex);
// 创建单元格,设置单元格格式为String类型
XSSFCell cell = row.createCell(j, CellType.STRING);
// 设置行高
sheet.getRow(rowIndex).setHeight((short)number);
// 设置列宽
sheet.setColumnWidth(columnIndex, int width);
// 设置单元格值
cell.setCellValue(cellInfo[k][j]);
// 设置单元格样式
cell.setCellStyle(style);
//***********************************************
// 根据sheetName获取工作簿中对应的sheet表
XSSFSheet sheet = workBook.getSheet(sheetName);
// 获取行
XSSFRow row = sheet.getRow(rowIndex);
// 获取单元格
XSSFCell cell = row.getCell(columnIndex);
**注:**1、设置列宽需要在sheet级别上操作!

有了上面的基础,创建工作簿::

(一)JAVA使用POI操作excel

(二)JAVA使用POI操作excel

(三)JAVA使用POI操作excel

(四)JAVA使用POI操作excel

Java POI导出excel经典实现

poiExcel表格所有操作以及数据导入导出