使用 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对象(样式)