-
大小: 17KB文件类型: .java金币: 1下载: 0 次发布日期: 2021-06-03
- 语言: Java
- 标签:
资源简介
Java POI下载Excel模板 Excel带有下拉框的模板,并有详细注释,生成exlcel的下拉框,必填项标红,数字栏位防止科学计数法,并设置Excel标题样式
代码片段和文件信息
package com.ags.mes.server.utils;
import java.awt.Color;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.poi.ss.usermodel.Borderstyle;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Cellstyle;
import org.apache.poi.ss.usermodel.DataFormat;
import org.apache.poi.ss.usermodel.FillPatternType;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.ss.util.CellRangeAddressList;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFCellstyle;
import org.apache.poi.xssf.usermodel.XSSFColor;
import org.apache.poi.xssf.usermodel.XSSFDataValidation;
import org.apache.poi.xssf.usermodel.XSSFDataValidationConstraint;
import org.apache.poi.xssf.usermodel.XSSFDataValidationhelper;
import org.apache.poi.xssf.usermodel.XSSFFont;
import org.apache.poi.xssf.usermodel.XSSFName;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import com.ags.hms.enums.PersonalExcelTemplate;
import com.ags.mes.webbase.i18.I18NUtility;
import com.vaadin.server.DownloadStream;
/**
* @date 2019-3-7
*
*/
public class CreateExcelTemplate {
private static final String CONTENT_TYPE=“application/vnd.ms-excel“;
/**
* @param columnName 列名
* @param columnType 必填标识(为必填的栏位设置红色样式)
* @param map 下拉框数据源(下拉数据的填充)
* @param fileName 文件名
* @param columnIndex 下拉框数列位置(下拉数据的栏位序号)
* @param StringIndex 文本格式化列位置(需要避免科学计数法的数据的栏位序号)
* @param data 异常数据(数据填充,初始化数据)
* @return downloadStream
*/
public static DownloadStream downloadThisErrorInfoData(String[] columnNameInteger[] columnType
Map> map String fileNameInteger[] columnIndexInteger[] StringIndexobject[][] data) {
DownloadStream downloadStream=null;
try {
ByteArrayInputStream inputStream =null;
ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
XSSFWorkbook workbook = new XSSFWorkbook();//创建工作薄
// 必填栏位定义
XSSFCellstyle cellstyletitle = workbook.createCellstyle();
cellstyletitle.setFillForegroundColor(new XSSFColor(new Color(241 241 241)));
cellstyletitle.setFillPattern(FillPatternType.SOLID_FOREGROUND); // 表格前景色
// 指定当单元格内容显示不下时自动换行
cellstyletitle.setWrapText(true);
// 设置单元格字体
XSSFFont font = workbook.createFont();
font.setBold(true);
font.setFontName(“黑体“);
font.setColor(Font.COLOR_RED);
font.setFontHeight((short) 200);
cellstyletitle.setFont(font);
// 指定单元格居中对齐
cellstyletitle.setAlignment(HorizontalAlignment.CENTER);
cellstyletitle.setVerticalAlignment(VerticalAlignment.CENTER);
// 背景色
cellstyletitle.setFillPattern(FillPatte
评论
共有 条评论