java poi导出excel模板_Java poi实现导出excel,添加数据有效性,生成模板
如题,使用poi组件实现上述功能,控制输入为日期格式、下拉框选择、限制输入的数据大小等等如下代码,参考资料地址:http://www.iteye.com/problems/65191,想要说明的是原文对于设置的范围的参数解释是错误的:4个参数依次应该代表为:开始行、结束行、开始列、结束列:
package com.rmsClient.util;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.DVConstraint;
import org.apache.poi.hssf.usermodel.HSSFDataValidation;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.CellRangeAddressList;
/**
* 从数据库中读取工资的字段,然后动态生成excel模板
*
* @author qiulinhe
*
* 2017年2月20日 下午5:41:35
*/
public class ExcelOutputUtil {
public static void main(String[] args) {
FileOutputStream out = null;
try {
// excel对象
HSSFWorkbook wb = new HSSFWorkbook();
// sheet对象
HSSFSheet sheet = wb.createSheet("sheet1");
// 输出excel对象
out = new FileOutputStream("D://ceshi.xls");
// 取得规则
// HSSFDataValidation validateData =
// ExcelOutputUtil.setValidate((short) 1, (short) 1, (short) 4,
// (short) 4);
// HSSFDataValidation validate = ExcelOutputUtil.setBoxs();
HSSFDataValidation dateVa = ExcelOutputUtil.setDate();
// 设定规则
// sheet.addValidationData(validate);
// sheet.addValidationData(validateData);
sheet.addValidationData(dateVa);
// 输出excel
wb.write(out);
out.close();
System.out.println("在D盘成功生成了excel,请去查看");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
// 数字大小控制:设置单元格只能在1-20之间
public static HSSFDataValidation setValidate(short firstRow, short lastRow, short firstCol, short lastCol) {
// 创建一个规则:1-100的数字
DVConstraint constraint = DVConstraint.createNumericConstraint(DVConstraint.ValidationType.INTEGER,
DVConstraint.OperatorType.BETWEEN, "1", "20");
// 设定在哪个单元格生效
CellRangeAddressList regions = new CellRangeAddressList(firstRow, lastRow, firstCol, lastCol);
// 创建规则对象
HSSFDataValidation ret = new HSSFDataValidation(regions, constraint);
return ret;
}
// 下拉框限制
public static HSSFDataValidation setBoxs() {
CellRangeAddressList addressList = new CellRangeAddressList(0, 0, 0, 0);
final String[] DATA_LIST = new String[] { "男", "女", };
DVConstraint dvConstraint = DVConstraint.createExplicitListConstraint(DATA_LIST);
HSSFDataValidation dataValidation = new HSSFDataValidation(addressList, dvConstraint);
dataValidation.setSuppressDropDownArrow(false);
dataValidation.createPromptBox("输入提示", "请从下拉列表中选择男女");
dataValidation.setShowPromptBox(true);
return dataValidation;
}
// 日期格式限制
public static HSSFDataValidation setDate() {
CellRangeAddressList addressList = new CellRangeAddressList(0, 1, 0, 2);
DVConstraint dvConstraint = DVConstraint.createDateConstraint(DVConstraint.OperatorType.BETWEEN, "1900-01-01",
"5000-01-01", "yyyy-mm-dd");
HSSFDataValidation dataValidation = new HSSFDataValidation(addressList, dvConstraint);
dataValidation.setSuppressDropDownArrow(false);
dataValidation.createPromptBox("输入提示", "请填写日期格式");
// 设置输入错误提示信息
dataValidation.createErrorBox("日期格式错误提示", "你输入的日期格式不符合'yyyy-mm-dd'格式规范,请重新输入!");
dataValidation.setShowPromptBox(true);
return dataValidation;
}
}
这样就可以控制生成的excel的第二行第二列只能输入1-20的数据:
java poi导出excel模板_Java poi实现导出excel,添加数据有效性,生成模板相关推荐
- java io导出excel表格_Java IO 导入导出Excel表格
1.将excel导入到内存 1. 调用工作簿Workbook的静态方法getWorkbook(),获得工作簿Workbook对象 InputStream in = new FileInputStrea ...
- java导出复杂excel表格_java使用freemarker导出复杂的excel表格
正常导出excel表格使用的poi,但是导出复杂的excel有点困难,但是可以使用freemaker模板来导出复杂的excel. 都是先生成一个Excel表格的模板,最好是增加一行数据.具体看图里面的 ...
- java poi 读取 word图片_Java Poi 根据文字内容 插入 word 图片-Go语言中文社区
需求描述 如下图,我需要在word里根据一个图片的名字,将名字替换成该图片(公章) 思路: 用POI遍历每一个表格里的每一行的每一个单元格,如果遇到我自己定义的"&章",则 ...
- java word上传下载_java poi 上传与下载word文件
java编程要实现对word的操作没有vb那种编程语言来得容易,得借助一些开源组件,其中就包括jacob.poi等, 而poi应用得最为广泛,对word2003和2007的读和写word操作都十分方便 ...
- java操作mysql导表_Java实现批量导入excel表格数据到数据库中的方法
本文实例讲述了Java实现批量导入excel表格数据到数据库中的方法.分享给大家供大家参考,具体如下: 1.创建导入抽象类 package com.gcloud.common.excel; impor ...
- java导出excel 客户端_Java poi导出Excel下载到客户端
Java poi 导出Excel并下载到客户端,具体内容如下 Maven配置,包含了其他文件格式的依赖,就全贴出来了 org.apache.poi poi-excelant 3.12 org.apac ...
- java 导出批量图片_Java Poi 导出excel(含图片及多个sheet)
因为之前做的导出都是导出数据的基本信息不含图片的那种,一直也没做过导出图片的excel,正好这两天做这个需求就做了一个,好 废话不多说,直接上图 ,因为我这边是根据模板导出数据 先看下模板 然后上代码 ...
- java poi excel 图表_java poi导出带图表的excel表格
1 /** 2 *导出综合得分统计3 *@paramfileName4 *@paramrequest5 *@paramresponse6 *@paramheadInfo7 *@paramdataLis ...
- java poi生成excel文件_java poi 导出Excel文件
1,导包 poi-3.9-XXX.JAR 2, 创建一个实体对象 public class Student implements Serializable { /** * */ private st ...
- java读取合并单元格_Java POI常用方法,读取单元格的值,设置单元格格式,合并单元格,获取已合并的单元格,导出至本地等...
一.设置单元格格式. 设置单元格边框.单元格背景颜色.单元格对齐方式.单元格字体,设置自动换行. /** Description: 设置单元格格式. * @author : ys. * @date : ...
最新文章
- 痞子衡嵌入式:常用的数据差错控制技术(2)- 奇偶校验(Parity Check)
- Android --- GridLayoutManager 设置了 item 均匀分布,但是无效
- Apache Flink 1.10.0 发布 | 云原生生态周报 Vol. 38
- Opencv3编程入门学习笔记(五)之通道分离(split)与合并(merge)
- 2020.2idea创建web_使用IDEA配置Tomcat(亲测成功)
- [RBA开发系列一] 建立http 请求的process
- php数量百分比,mysql PHP行数+百分比
- zabbix 邮件报警 监控mysql主从
- python13文件_python中13个实用的文件操作
- 远程控制电脑的实现方法汇总
- 评价——TOPSIS
- ajax点击事件click触发两次,jQuery点击click触发两次事件解决办法
- Win7 安装.Net 4.7.2 失败
- Verilog语言入门学习(1)
- Provision not found. A provision is required for deploying your app to the device. 解决方案
- 特斯拉中国召回近5万辆Model S和X,美国法务:中国驾驶员使用不当-1
- 试着用markdown
- [Java]JDK1.7中HashMap的并发死链
- 图解 Vue3.0 编译器核心原理(Vue3.0源码解析)
- Windows10更新后打开word是写字板形式解决方法
热门文章
- Linux命令_搜索文件
- 【动态规划】最大子段和问题,最大子矩阵和问题,最大m子段和问题
- Object-C 语法 字符串 数组 字典 和常用函数 学习笔记
- HDU 5820 Lights(扫描线+zkw线段树)
- (转)ZooKeeper伪分布式集群安装及使用
- linux下python、django框架的配置
- 孙鑫VC学习笔记:第十五讲 (三) 增加互斥条件实现线程同步
- python读取文件路径报invalid_Python 解决OPEN读文件报错 ,路径以及r的问题
- 拓端tecdat|R语言动态可视化:制作历史全球平均温度的累积动态折线图动画gif视频图
- 【大数据部落】基于R的FP树fp growth 关联数据挖掘技术在煤矿隐患管理