使用 Apache POI 操作 excel 的一些公共方法或示例
Type | Name and description |
---|---|
static void |
addComment(org.apache.poi.ss.usermodel.Cell cell, String content, org.apache.poi.ss.usermodel.Font font = null, int colspan = 1, int rowspan = 3) 给单元格添加备注 |
static void |
addDateValidation(org.apache.poi.ss.usermodel.Sheet sheet, org.apache.poi.ss.util.CellRangeAddressList rangeAddressList, String beginDate = "1900-01-01", String endDate = "2050-12-31", String format = "yyyy-mm-dd", String errorMsg = "请输入日期,如:2011-10-10!") 设置日期校验 |
static void |
addNumericValidation(org.apache.poi.ss.usermodel.Sheet sheet, org.apache.poi.ss.util.CellRangeAddressList rangeAddressList, String beginNum, String endNum, String errorMsg) 设置数字范围校验 |
static void |
addSelectValidation(org.apache.poi.ss.usermodel.Sheet sheet, org.apache.poi.ss.util.CellRangeAddressList rangeAddressList, Object listOrFormula, String errorMsg) 设置单元格校验和下拉列表 |
static int |
columnABCToNum(String abc) 将Excel里的大写字母的列号转成数字序号 |
static String |
columnNumToABC(int num) 将列号转成大写字母表示的序号(如 A、AB...) |
static void |
copyAndAppendRows(org.apache.poi.ss.usermodel.Row row, Integer count) 复制行,并插入到后面 |
static org.apache.poi.ss.usermodel.Font |
createCommonFont(org.apache.poi.ss.usermodel.Workbook wb) (示例)创建一个最常用的Font:小五号宋体 |
static org.apache.poi.ss.usermodel.Name |
createName(org.apache.poi.ss.usermodel.Workbook wb, String name, String refersToFormula) 创建名称 |
static org.apache.poi.ss.usermodel.Name |
createName(org.apache.poi.ss.usermodel.Sheet sheet, String name, int rowNum1, int rowNum2, int colNum1, int colNum2) 创建名称 |
static org.apache.poi.ss.util.CellRangeAddressList |
createRangeAddressList(int rowNum1, int rowNum2, int colNum1, int colNum2) 创建一个 CellRangeAddressList,供 addXxxValidation 等方法使用 |
static org.apache.poi.ss.usermodel.Sheet |
createSheet(org.apache.poi.ss.usermodel.Workbook wb, String name) 创建Sheet |
static Map<String, org.apache.poi.ss.usermodel.CellStyle> |
createStyles(org.apache.poi.ss.usermodel.Workbook wb) (示例)初始化一些可能需要用到的样式 |
static org.apache.poi.ss.usermodel.Workbook |
createWorkbook() 创建Workbook |
static Object |
getCellValue(org.apache.poi.ss.usermodel.Cell cell, org.apache.poi.ss.usermodel.FormulaEvaluator evaluator = null, Integer rowIdx = null, Integer cellIdx = null ) 获得单元格的内存 |
static Date |
getCellValueDate(org.apache.poi.ss.usermodel.Cell cell) 获得单元格的日期内容,如果转换错误,则返回null |
static String |
getCellValueString(org.apache.poi.ss.usermodel.Cell cell, org.apache.poi.ss.usermodel.FormulaEvaluator evaluator = null) 获得单元格的文字内容,数字自动转成文字 |
static void |
mergeCells(org.apache.poi.ss.usermodel.Sheet sheet, int rowNum1, int rowNum2, int colNum1, int colNum2) 合并单元格(居中等属性集成原来的单元格的设置) |
static org.apache.poi.ss.usermodel.Workbook |
openWorkbook(String filename) 打开Workbook |
static Map |
readAll(String filename, boolean spannable = false) 从一个Excel文件中读出所有信息,拼成一个Map(key为sheet名,value为表示行、列的二维列表)返回 |
static Map |
readAll(javax.servlet.http.HttpServletRequest request, boolean spannable = false) 从上传的Excel文件中读出所有信息,拼成一个Map返回 |
static void |
renderWithNoformat(Collection collection, String filename, Object request, Object response) 将2维集合(对应行、列)直接转换成Excel。 |
static void |
saveWorkbook(org.apache.poi.ss.usermodel.Workbook wb, String filename) 保存Excel到文件系统 |
static void |
setCellFormula(org.apache.poi.ss.usermodel.Cell cell, String formula) 在单元格中设置一个公式 |
static void |
setPageSetup(org.apache.poi.ss.usermodel.Sheet sheet) (示例)页面设置:打印、页脚等 |
static void |
setStyleBorder(org.apache.poi.ss.usermodel.CellStyle style) (示例)给Style设置黑色的细边框 |
Methods inherited from class | Name |
---|---|
class Object |
Object#wait(long), Object#wait(long, int), Object#wait(), Object#equals(Object), Object#toString(), Object#hashCode(), Object#getClass(), Object#notify(), Object#notifyAll() |
给单元格添加备注
cell
- 单元格对象content
- 备注内容font
- 字体colspan
- 备注框的大小:所占列数rowspan
- 备注框的大小:所占行数设置日期校验
sheet
- 工作表对象rangeAddressList
- CellRangeAddressList对象,创建数据有效性对象用;可通过 createRangeAddressList 方法创建beginDate
- 开始日期endDate
- 结束日期format
- 格式化样式errorMsg
- 错误提示信息设置数字范围校验
sheet
- 工作表对象rangeAddressList
- CellRangeAddressList对象,创建数据有效性对象用;可通过 createRangeAddressList 方法创建beginNum
- 开始数字endNum
- 结束数字errorMsg
- 错误提示信息设置单元格校验和下拉列表
sheet
- 工作表对象rangeAddressList
- CellRangeAddressList对象,创建数据有效性对象用;可通过 createRangeAddressList 方法创建listOrFormula
- 下拉列表的内容列表、或者公式(如名称、"\$A\$8:\$A:9"等)errorMsg
- 错误提示信息将Excel里的大写字母的列号转成数字序号
将列号转成大写字母表示的序号(如 A、AB...)
复制行,并插入到后面
row
- 要复制的行count
- 插入的行数(示例)创建一个最常用的Font:小五号宋体
wb
- 工作簿对象创建名称
wb
- 工作簿对象name
- 想要创建的名称refersToFormula
- 形如"Sheet1!\$A\$1:\$A\$3"的名称范围创建名称
sheet
- 工作表对象name
- 想要创建的名称rowNum1
- 范围:开始行号1rowNum2
- 范围:结束行号2colNum1
- 范围:开始列号1colNum2
- 范围:结束列号2创建一个 CellRangeAddressList,供 addXxxValidation 等方法使用
rowNum1
- 范围:开始行号1rowNum2
- 范围:结束行号2colNum1
- 范围:开始列号1colNum2
- 范围:结束列号2创建Sheet
wb
- 工作簿对象name
- 要创建的工作表名称(示例)初始化一些可能需要用到的样式
wb
- 工作簿对象创建Workbook
获得单元格的内存
cell
- 单元格evaluator
- 如果可能是公式的话,创建一个FormulaEvaluator传过来,以进行转换,(并提升性能、避免在多次调 用时本方法内多次创建)
获得单元格的日期内容,如果转换错误,则返回null
cell
- 单元格获得单元格的文字内容,数字自动转成文字
cell
- 单元格evaluator
- 如果可能是公式的话,创建一个FormulaEvaluator传过来,以进行转换,(并提升性能、避免在多 次调用时本方法内多次创建)
合并单元格(居中等属性集成原来的单元格的设置)
sheet
- 工作表对象rowNum1
- 范围:开始行号1rowNum2
- 范围:结束行号2colNum1
- 范围:开始列号1colNum2
- 范围:结束列号2打开Workbook
filename
- 文件名从一个Excel文件中读出所有信息,拼成一个Map(key为sheet名,value为表示行、列的二维列表)返回
filename
- Excel 文件路径spannable 默认为否,返回结果的
- value 二维列表中,每一个值表示该单元格的值,如 [["a", "b", "c" ],...]。
如果为真,则每个值为一个Map(或null),表示对应的单元格位置、以及表示合并单元格的 colspan、rowspan 值,如 [[[value: "a", row: 0, col: 0, rowspan: 2], null, ...], ...]从上传的Excel文件中读出所有信息,拼成一个Map返回
将2维集合(对应行、列)直接转换成Excel。
注:日期类型的会设置默认的格式“yyyy-mm-dd”
collection
- 需要转换的二维数组filename
- 输出的文件名,如果是输出到文件系统,则必须为绝对路径request
- HttpServletRequest,如果要输出到浏览器,则不能为空response
- HttpServletResponse,如果要输出到浏览器,则不能为空保存Excel到文件系统
wb
- 工作簿对象filename
- 文件名在单元格中设置一个公式
cell
- 单元格对象formula
- 公式字符串,不需要以“=”开头(示例)页面设置:打印、页脚等
sheet
- 工作表对象(示例)给Style设置黑色的细边框
style
- CellStyle对象(样式)