-
大小: 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
評論
共有 條評論