前端时候有这样的需求了,在网上找了下,又查询下javadoc,贴一段代码共享下。
POI 3.1 final
import org.apache.poi.hssf.usermodel.*
import org.apache.poi.hssf.util.*
class ExportModel {
String sheetTitle
// 复合表头
List columnLabel = []
List columnLabel2 = []
Map columnWidth = [:]
// merge
List range = []
static final short defaultColumnWidth = 22
static final short columnWidthUnit = 35
static final short rowHeadFontSize = 12
byte[] export(List ll){
HSSFWorkbook wb = new HSSFWorkbook()
HSSFSheet outputSheet = wb.createSheet(sheetTitle)
outputSheet.setDefaultColumnWidth(defaultColumnWidth)
// column width setting
if(columnWidth){
columnWidth.each{k, v ->
outputSheet.setColumnWidth((short)k, (short)(columnWidthUnit * v));
}
}
// head
HSSFFont font = wb.createFont()
font.setFontHeightInPoints(rowHeadFontSize)
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD)
font.setColor(HSSFColor.AQUA.index)
HSSFCellStyle style = wb.createCellStyle()
style.setFont(font)
// style.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index)
// style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND)
style.setAlignment(HSSFCellStyle.ALIGN_CENTER)
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER)
HSSFRow row = outputSheet.createRow(0)
columnLabel.eachWithIndex{label, i ->
HSSFCell cell = row.createCell((short)i)
cell.setCellValue(label)
cell.setCellStyle(style)
}
if(columnLabel2){
HSSFRow row2 = outputSheet.createRow(1)
columnLabel2.eachWithIndex{label, i ->
HSSFCell cell = row2.createCell((short)i)
cell.setCellValue(label)
cell.setCellStyle(style)
}
}
if(range){
range.each{
// row from col from row to col to
outputSheet.addMergedRegion(new Region(it[0], (short)it[1], it[2], (short)it[3]))
}
}
if(ll){
int startRow = columnLabel2?2:1
for(one in ll){
int rowIndex = startRow + ll.indexOf(one)
HSSFRow subRow = outputSheet.createRow(rowIndex)
one.eachWithIndex{val, i ->
HSSFCell cell = subRow.createCell((short)i)
cell.setCellValue(val)
}
}
}
ByteArrayOutputStream os = new ByteArrayOutputStream()
wb.write(os)
os.close()
return os.toByteArray()
}
}
分享到:
相关推荐
java使用POI导出 Excel+图片工具类 ,里面含有poi jar包,只调用接口即可直接保存Excel。使用的时候需先把数据封装,具体包装需根据实际导出数据进行处理。文件demo中只提供包装格式。
以下是一个简化的示例,演示了如何使用POI导出Excel: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java.io....
这个“excel poi工具类”是利用Apache POI库来实现对Excel文件进行导入、导出、合并单元格以及处理计算公式的功能。下面我们将深入探讨这些知识点。 **1. Apache POI库介绍** Apache POI是一个开源项目,它为Java...
在这个场景中,我们关注的是如何使用POI来创建一个功能丰富的Excel导出工具类,它能够自动设置标题、列名、文件名,并且支持插入图片以及合并单元格。下面将详细介绍这些功能的实现。 首先,要创建一个Excel工作簿...
在这个“POI导出Excel表格”的实例中,我们将深入探讨如何利用Apache POI进行Excel文件的导入与导出操作。 首先,我们需要在项目中集成Apache POI库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```...
POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI...
在本案例中,我们关注的是如何使用 Apache POI 库来导出 Excel 文件,特别是根据模板导出和简单列表导出。下面将详细介绍这个过程。 1. **Apache POI 概述** Apache POI 提供了 Java API 来读写 Microsoft Office ...
在Java中,如果你需要导出Excel文件,Java POI是一个非常实用的工具。下面将详细介绍如何使用Java POI来实现Excel的导出。 1. **引入依赖** 在Java项目中使用POI,首先需要在项目的构建文件(如Maven的pom.xml或...
标题“poi导出excel通用类”指的是使用Apache POI库创建一个可以用于导出Excel文件的Java类。Apache POI是开源项目,提供了一组API,使得开发者可以在Java应用程序中读写Microsoft Office格式的文件,包括Excel。在...
"poi导出excel需要的jar"指的是在使用Apache POI进行Excel导出时,你需要包含特定的JAR依赖文件。 首先,要实现POI导出Excel的功能,你需要下载Apache POI相关的JAR文件。这些文件通常包括以下核心组件: 1. **poi...
poi作为导出excel常用的工具,方便快捷。对于excel指定下拉列表的列,如何生成呢?本文提供如何生成下拉列表的excel列
在处理Excel时,POI提供了HSSF(Horizontally-Scalable Spreadsheet Format)用于处理旧版的BIFF格式(.xls),而XSSF则用于处理较新的XML Spreadsheet Format(.xlsx)。 二、Web环境下导出Excel的挑战 在Web应用...
POI导出Excel参考方法 POI(Poor Obfuscation Implementation)是一个Java的API,用于操作Microsoft Office文档,包括Excel、Word、PowerPoint等。下面是POI导出Excel参考方法的相关知识点: 1. POI的基本概念 ...
Java实现POI导出Excel是Java开发者常用的一种技术,用于生成和操作Microsoft Office Excel文件。在Java中,Apache POI库提供了对微软Office文档格式的支持,包括读取和写入Excel文件。这篇博客文章...
POI操作Excel 合并单元格 边框问题解决方法,这个方法是我亲自测试,并运用于项目中的,可以放心使用,还一并写出了很多注释,其中有写poi的bug的解决方法
springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式...
- **兼容性问题**:虽然Apache POI支持多种Excel版本,但在实际使用过程中可能会遇到一些兼容性问题,特别是在处理某些特殊格式或功能时。因此,在正式部署前进行全面的测试是非常重要的。 - **性能优化**:当处理...
尽管在导出Excel时可能用不上,但这个库扩展了POI的功能范围。 `poi-ooxml-3.15-beta1.jar`是POI的OOXML支持库,主要处理.xlsx文件,与`poi-ooxml-schemas-3.15-beta1.jar`一起提供了对OOXML格式的支持。 `...
java的poi的导入工具类,只需要传入两个arrayList,一个是execl的标题,一个是ececl的数据,就可以直接导出到execl里面,支持最新的execl,全新封装的,让每一个人都会使用poi导出execl!