Java 类org.apache.poi.ss.usermodel.DataFormat 实例源码
项目:bingexcel
文件:AbstractWriteHandler.java
CellStyle createHeadDateStyle() {
if (headDateCellStyle != null) {
return headDateCellStyle;
}
CellStyle cellStyle = wb.createCellStyle();
DataFormat format = wb.createDataFormat();
cellStyle.setDataFormat(format.getFormat("m/d/yy h:mm"));
// 设置这些样式
cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.index);
cellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
cellStyle.setAlignment(CellStyle.ALIGN_CENTER);
// 生成一个字体
Font font = wb.createFont();
font.setColor(IndexedColors.BLACK.index);
font.setFontHeightInPoints((short) 12);
font.setBoldweight(Font.BOLDWEIGHT_BOLD);
// 把字体应用到当前的样式
cellStyle.setFont(font);
headDateCellStyle = cellStyle;
return cellStyle;
}
项目:excel-rw-annotation
文件:StyleConfiguration.java
/**
* 小数格式
*
* @return CellStyle
*/
public CellStyle getDecimalStyle() {
if (buildInStyleMap.containsKey(DECIMAL_STYLE_KEY)) {
return buildInStyleMap.get(DECIMAL_STYLE_KEY);
}
CellStyle decimalStyle = workbook.createCellStyle();//小数样式
if (!buildInFormatMap.containsKey(DATA_FORMAT_KEY)) {
DataFormat dataFormat = workbook.createDataFormat();
buildInFormatMap.put(DATA_FORMAT_KEY, dataFormat);
}
decimalStyle.setDataFormat(buildInFormatMap.get(DATA_FORMAT_KEY).getFormat("0.00"));
this.setCommonStyle(decimalStyle);
buildInStyleMap.put(DECIMAL_STYLE_KEY, decimalStyle);
return decimalStyle;
}
项目:excel-rw-annotation
文件:StyleConfiguration.java
/**
* 日期样式 yyyy-MM-dd HH:mm
*
* @return CellStyle
*/
public CellStyle getDateStyle() {
if (buildInStyleMap.containsKey(DATE_STYLE_KEY)) {
return buildInStyleMap.get(DATE_STYLE_KEY);
}
CellStyle dateStyle = workbook.createCellStyle();//日期样式
if (!buildInFormatMap.containsKey(DATA_FORMAT_KEY)) {
DataFormat dataFormat = workbook.createDataFormat();
buildInFormatMap.put(DATA_FORMAT_KEY, dataFormat);
}
dateStyle.setDataFormat(buildInFormatMap.get(DATA_FORMAT_KEY).getFormat("yyyy-MM-dd HH:mm"));
this.setCommonStyle(dateStyle);
buildInStyleMap.put(DATE_STYLE_KEY, dateStyle);
return dateStyle;
}
项目:excel-rw-annotation
文件:StyleConfiguration.java
/**
* 日期样式 yyyy/MM/dd
*
* @return CellStyle
*/
public CellStyle getDate8Style() {
if (buildInStyleMap.containsKey(DATE_8_STYLE_KEY)) {
return buildInStyleMap.get(DATE_8_STYLE_KEY);
}
CellStyle date8Style = workbook.createCellStyle();//年月日样式
if (!buildInFormatMap.containsKey(DATA_FORMAT_KEY)) {
DataFormat dataFormat = workbook.createDataFormat();
buildInFormatMap.put(DATA_FORMAT_KEY, dataFormat);
}
date8Style.setDataFormat(buildInFormatMap.get(DATA_FORMAT_KEY).getFormat("yyyy/MM/dd"));
this.setCommonStyle(date8Style);
buildInStyleMap.put(DATE_8_STYLE_KEY, date8Style);
return date8Style;
}
项目:excel-rw-annotation
文件:StyleConfiguration.java
/**
* 根据格式,创建返回样式对象
*
* @param format 格式
* @return 样式对象
*/
public CellStyle getCustomFormatStyle(String format) {
//存在对应格式直接返回
if (customFormatStyleMap.containsKey(format)) {
return customFormatStyleMap.get(format);
}
CellStyle customDateStyle = workbook.createCellStyle();
if (!buildInFormatMap.containsKey(DATA_FORMAT_KEY)) {
DataFormat dataFormat = workbook.createDataFormat();
buildInFormatMap.put(DATA_FORMAT_KEY, dataFormat);
}
customDateStyle.setDataFormat(buildInFormatMap.get(DATA_FORMAT_KEY).getFormat(format));
this.setCommonStyle(customDateStyle);
//放入map缓存
customFormatStyleMap.put(format, customDateStyle);
return customDateStyle;
}
项目:common-utils
文件:StyleConfiguration.java
public CellStyle getDateStyle() {
CellStyle dateStyle = workbook.createCellStyle();
// 设置单元格居中对齐
dateStyle.setAlignment(CellStyle.ALIGN_CENTER);
// 设置单元格垂直居中对齐
dateStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
DataFormat format = workbook.createDataFormat();
dateStyle.setDataFormat(format.getFormat("yyyy-MM-dd HH:mm"));
// 创建单元格内容显示不下时自动换行
dateStyle.setWrapText(true);
// 设置单元格字体样式
Font font = workbook.createFont();
// 设置字体加粗
font.setBoldweight(Font.BOLDWEIGHT_BOLD);
font.setFontName("宋体");
font.setFontHeight((short) 200);
dateStyle.setFont(font);
setBorder(dateStyle);
return dateStyle;
}
项目:swing
文件:Report.java
protected void addRow(HSSFWorkbook workbook, HSSFSheet sheet, Object value, int row, int column) {
HSSFRow hssfRow = sheet.getRow(row);
hssfRow = (hssfRow == null) ? sheet.createRow(row) : hssfRow;
HSSFCell cell = hssfRow.getCell(column);
cell = (cell == null) ? hssfRow.createCell(column) : cell;
String cellValue = (value == null) ? "" : value.toString();
DecimalFormat decimalFormatter = new DecimalFormat("###,###,###,##0.00");
try {
double doubleValue = decimalFormatter.parse(cellValue).doubleValue();
DataFormat dataFormat = workbook.createDataFormat();
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setDataFormat(dataFormat.getFormat("###,###,###,##0.00"));
cell.setCellValue(doubleValue);
} catch (ParseException e) {
cell.setCellValue(cellValue);
}
formatCell(workbook, cell);
}
项目:qafe-platform
文件:DocumentExporter.java
protected static void setCellValue(Workbook wb, Cell cell, Object value) {
if (cell == null) {
return;
}
if (value instanceof Boolean) {
cell.setCellValue((Boolean)value);
} else if (value instanceof Number) {
cell.setCellValue(((Number)value).doubleValue());
} else if (value instanceof Date) {
CellStyle cellStyle = wb.createCellStyle();
DataFormat poiFormat = wb.createDataFormat();
// Format: 0x16, "m/d/yy h:mm"
final short format = poiFormat.getFormat(BuiltinFormats.getBuiltinFormat(0x16));
cellStyle.setDataFormat(format);
cell.setCellValue(((Date)value));
cell.setCellStyle(cellStyle);
} else if (value instanceof Calendar) {
cell.setCellValue(((Calendar)value));
} else if (value != null) {
cell.setCellValue(value.toString());
} else {
cell.setCellValue("");
cell.setCellType(Cell.CELL_TYPE_BLANK);
}
}
项目:ExcelHandle
文件:ExportExcel.java
/**
* 添加一个单元格
* @param row 添加的行
* @param column 添加列号
* @param val 添加值
* @param align 对齐方式(1:靠左;2:居中;3:靠右)
* @return 单元格对象
*/
public Cell addCell(Row row, int column, Object val, int align, Class<?> fieldType){
Cell cell = row.createCell(column);
CellStyle style = styles.get("data"+(align>=1&&align<=3?align:""));
try {
if (val == null){
cell.setCellValue("");
} else if (val instanceof String) {
cell.setCellValue((String) val);
} else if (val instanceof Integer) {
cell.setCellValue((Integer) val);
} else if (val instanceof Long) {
cell.setCellValue((Long) val);
} else if (val instanceof Double) {
cell.setCellValue((Double) val);
} else if (val instanceof Float) {
cell.setCellValue((Float) val);
} else if (val instanceof Date) {
DataFormat format = wb.createDataFormat();
style.setDataFormat(format.getFormat("yyyy-MM-dd"));
cell.setCellValue((Date) val);
} else {
if (fieldType != Class.class){
cell.setCellValue((String)fieldType.getMethod("setValue", Object.class).invoke(null, val));
}else{
cell.setCellValue((String)Class.forName(this.getClass().getName().replaceAll(this.getClass().getSimpleName(),
"fieldtype."+val.getClass().getSimpleName()+"Type")).getMethod("setValue", Object.class).invoke(null, val));
}
}
} catch (Exception ex) {
log.info("Set cell value ["+row.getRowNum()+","+column+"] error: " + ex.toString());
cell.setCellValue(val.toString());
}
cell.setCellStyle(style);
return cell;
}
项目:dremio-oss
文件:ExcelTestHelper.java
ExcelTestHelper(final String parent, boolean generateXls) throws Exception {
this.xls = generateXls;
// Create a test Excel sheet with all types of supported data
Workbook wb = generateXls ? new HSSFWorkbook() : new XSSFWorkbook();
CreationHelper creationHelper = wb.getCreationHelper();
DataFormat dataFormat = creationHelper.createDataFormat();
short fmt = dataFormat.getFormat("yyyy-mm-dd hh:mm:ss");
CellStyle style = wb.createCellStyle();
style.setDataFormat(fmt);
Sheet sheetWithHeader = wb.createSheet("Sheet 1");
// Create header row
Row headerRow = sheetWithHeader.createRow((short) 0);
headerRow.createCell(0).setCellValue("Number");
headerRow.createCell(1).setCellValue("String1");
headerRow.createCell(2).setCellValue("String2");
headerRow.createCell(3).setCellValue("MyTime");
headerRow.createCell(4).setCellValue("Formula");
headerRow.createCell(5).setCellValue("Boolean");
headerRow.createCell(6).setCellValue("Error");
generateSheetData(sheetWithHeader, style, (short)1);
Sheet sheetWithoutHeader = wb.createSheet("Sheet 2");
generateSheetData(sheetWithoutHeader, style, (short)0);
testFilePath = new File(parent, "excelTestFile").getPath();
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream(testFilePath);
wb.write(fileOut);
fileOut.close();
}
项目:Shop-for-JavaWeb
文件:ExportExcel.java
/**
* 添加一个单元格
* @param row 添加的行
* @param column 添加列号
* @param val 添加值
* @param align 对齐方式(1:靠左;2:居中;3:靠右)
* @return 单元格对象
*/
public Cell addCell(Row row, int column, Object val, int align, Class<?> fieldType){
Cell cell = row.createCell(column);
CellStyle style = styles.get("data"+(align>=1&&align<=3?align:""));
try {
if (val == null){
cell.setCellValue("");
} else if (val instanceof String) {
cell.setCellValue((String) val);
} else if (val instanceof Integer) {
cell.setCellValue((Integer) val);
} else if (val instanceof Long) {
cell.setCellValue((Long) val);
} else if (val instanceof Double) {
cell.setCellValue((Double) val);
} else if (val instanceof Float) {
cell.setCellValue((Float) val);
} else if (val instanceof Date) {
DataFormat format = wb.createDataFormat();
style.setDataFormat(format.getFormat("yyyy-MM-dd"));
cell.setCellValue((Date) val);
} else {
if (fieldType != Class.class){
cell.setCellValue((String)fieldType.getMethod("setValue", Object.class).invoke(null, val));
}else{
cell.setCellValue((String)Class.forName(this.getClass().getName().replaceAll(this.getClass().getSimpleName(),
"fieldtype."+val.getClass().getSimpleName()+"Type")).getMethod("setValue", Object.class).invoke(null, val));
}
}
} catch (Exception ex) {
log.info("Set cell value ["+row.getRowNum()+","+column+"] error: " + ex.toString());
cell.setCellValue(val.toString());
}
cell.setCellStyle(style);
return cell;
}
项目:bingexcel
文件:AbstractWriteHandler.java
CellStyle createDateStyle() {
if (dateCellStyle != null) {
return dateCellStyle;
}
CellStyle cellStyle = wb.createCellStyle();
DataFormat format = wb.createDataFormat();
cellStyle.setDataFormat(format.getFormat("m/d/yy h:mm"));
dateCellStyle = cellStyle;
return cellStyle;
}
项目:excel-cellformatter
文件:POICell.java
@Override
public String getFormatPattern() {
final DataFormat dataFormat = cell.getSheet().getWorkbook().createDataFormat();
final short formatIndex = getFormatIndex();
String formatPattern = dataFormat.getFormat(formatIndex);
if(formatPattern == null) {
formatPattern = "";
}
return formatPattern;
}
项目:SporttagePlaner
文件:KlassenlistenMaker.java
private void setStyles() {
csNormal = wb.createCellStyle();
csUeberschrift = wb.createCellStyle();
csTitel = wb.createCellStyle();
DataFormat dataFormat = wb.createDataFormat();
// Schriftart Schüler
Font fNormal = wb.createFont();
fNormal.setFontHeightInPoints((short) 10); // Schriftgröße auf 10pt setzen
fNormal.setColor(Font.COLOR_NORMAL); // Schriftfarbe schwarz
fNormal.setBoldweight(Font.BOLDWEIGHT_NORMAL);
// CellStyle für Schüler
csNormal.setFont(fNormal); // Schriftart
csNormal.setAlignment(CellStyle.ALIGN_CENTER_SELECTION); // Mittige Anordnung
csNormal.setBorderBottom(CellStyle.BORDER_THIN); // Umrandung unten einschalten
csNormal.setBottomBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung unten in schwarz
csNormal.setBorderLeft(CellStyle.BORDER_THIN); // Umrandung links einschalten
csNormal.setLeftBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung links in schwarz
csNormal.setBorderTop(CellStyle.BORDER_THIN); // Umrandung oben einschalten
csNormal.setTopBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung oben in schwarz
csNormal.setBorderRight(CellStyle.BORDER_THIN); // Umrandung rechts einschalten
csNormal.setRightBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung rechts in schwarz
csNormal.setDataFormat(dataFormat.getFormat("text")); // Datenformat Text
// Fett
Font fUeberschrift = wb.createFont();
fUeberschrift.setFontHeightInPoints((short) 11);
fUeberschrift.setColor(Font.COLOR_NORMAL);
fUeberschrift.setBoldweight(Font.BOLDWEIGHT_BOLD);
csUeberschrift.setFont(fUeberschrift);
csUeberschrift.setAlignment(CellStyle.ALIGN_CENTER_SELECTION); // Mittige Anordnung
csUeberschrift.setBorderBottom(CellStyle.BORDER_THIN); // Umrandung unten einschalten
csUeberschrift.setBottomBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung unten in schwarz
csUeberschrift.setBorderLeft(CellStyle.BORDER_THIN); // Umrandung links einschalten
csUeberschrift.setLeftBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung links in schwarz
csUeberschrift.setBorderTop(CellStyle.BORDER_THIN); // Umrandung oben einschalten
csUeberschrift.setTopBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung oben in schwarz
csUeberschrift.setBorderRight(CellStyle.BORDER_THIN); // Umrandung rechts einschalten
csUeberschrift.setRightBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung rechts in schwarz
csUeberschrift.setDataFormat(dataFormat.getFormat("text")); // Datenformat Text
// Schriftart für Titel
Font fTitel = wb.createFont();
fTitel.setFontHeightInPoints((short) 24); // größe 24pt
fTitel.setColor(Font.COLOR_NORMAL); // schwarz
fTitel.setBoldweight(Font.BOLDWEIGHT_BOLD); // fett
// CellStyle für den Titel
csTitel.setFont(fTitel); // Schrift setzen
csTitel.setAlignment(CellStyle.ALIGN_CENTER_SELECTION); // Mittige Anordnung
csTitel.setDataFormat(dataFormat.getFormat("text")); // Datenformat Text
}
项目:SporttagePlaner
文件:SpielplanWriter.java
private void setStyles() {
csSpieleEtc = wb.createCellStyle(); // Stil für Spiele, Schiris, Zeiten etc.
csTitel = wb.createCellStyle(); // Stil für Titel
csUntertitel = wb.createCellStyle(); // Stil für Untertitel
csTabellenueberschrift = wb.createCellStyle(); // Stil für die Tabellenüberschriften (wie für Spiele, nur fett)
DataFormat dataFormat = wb.createDataFormat(); // Um das Datenformat auf Text zu setzen
// Schriftart für Titel
Font fTitel = wb.createFont();
fTitel.setFontHeightInPoints((short) 24); // größe 24pt
fTitel.setColor(Font.COLOR_NORMAL); // schwarz
fTitel.setBoldweight(Font.BOLDWEIGHT_BOLD); // fett
// CellStyle für den Titel
csTitel.setFont(fTitel); // Schrift setzen
csTitel.setAlignment(CellStyle.ALIGN_CENTER_SELECTION); // Mittige Anordnung
csTitel.setDataFormat(dataFormat.getFormat("text")); // Datenformat Text
// Schriftart für den Untertitel
Font fUntertitel = wb.createFont();
fUntertitel.setFontHeightInPoints((short) 10); // Schriftgröße auf 10pt setzen
fUntertitel.setColor(Font.COLOR_NORMAL); // Schriftfarbe schwarz
fUntertitel.setBoldweight(Font.BOLDWEIGHT_NORMAL);
// CellStyle für den Untertitel
csUntertitel.setFont(fUntertitel); // Schriftart
csUntertitel.setAlignment(CellStyle.ALIGN_CENTER_SELECTION); // Mittige Anordnung
csUntertitel.setDataFormat(dataFormat.getFormat("text")); // Datenformat Text
// Schriftart für Tabellenüberschriften
Font fTabellenueberschrift = wb.createFont();
fTabellenueberschrift.setFontHeightInPoints((short) 11); // größe 11pt
fTabellenueberschrift.setColor(Font.COLOR_NORMAL); // schwarz
fTabellenueberschrift.setBoldweight(Font.BOLDWEIGHT_BOLD); // fett
// CellStyle für die Tabellenüberschriften
csTabellenueberschrift.setFont(fTabellenueberschrift); // Schriftart
csTabellenueberschrift.setAlignment(CellStyle.ALIGN_CENTER_SELECTION); // Mittige Anordnung
csTabellenueberschrift.setBorderBottom(CellStyle.BORDER_THIN); // Umrandung unten einschalten
csTabellenueberschrift.setBottomBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung unten in schwarz
csTabellenueberschrift.setBorderLeft(CellStyle.BORDER_THIN); // Umrandung links einschalten
csTabellenueberschrift.setLeftBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung links in schwarz
csTabellenueberschrift.setBorderTop(CellStyle.BORDER_THIN); // Umrandung oben einschalten
csTabellenueberschrift.setTopBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung oben in schwarz
csTabellenueberschrift.setBorderRight(CellStyle.BORDER_THIN); // Umrandung rechts einschalten
csTabellenueberschrift.setRightBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung rechts in schwarz
csTabellenueberschrift.setDataFormat(dataFormat.getFormat("text")); // Datenformat Text
// Schriftart für Spiele, Schiris, Zeiten etc.
Font fSpieleEtc = wb.createFont();
fSpieleEtc.setFontHeightInPoints((short) 10); // Schriftgröße auf 10pt setzen
fSpieleEtc.setColor(Font.COLOR_NORMAL); // Schriftfarbe schwarz
fSpieleEtc.setBoldweight(Font.BOLDWEIGHT_NORMAL);
// CellStyle für Spiele, Schiris, Zeiten etc.
csSpieleEtc.setFont(fSpieleEtc); // Schriftart
csSpieleEtc.setAlignment(CellStyle.ALIGN_CENTER_SELECTION); // Mittige Anordnung
csSpieleEtc.setBorderBottom(CellStyle.BORDER_THIN); // Umrandung unten einschalten
csSpieleEtc.setBottomBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung unten in schwarz
csSpieleEtc.setBorderLeft(CellStyle.BORDER_THIN); // Umrandung links einschalten
csSpieleEtc.setLeftBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung links in schwarz
csSpieleEtc.setBorderTop(CellStyle.BORDER_THIN); // Umrandung oben einschalten
csSpieleEtc.setTopBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung oben in schwarz
csSpieleEtc.setBorderRight(CellStyle.BORDER_THIN); // Umrandung rechts einschalten
csSpieleEtc.setRightBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung rechts in schwarz
csSpieleEtc.setDataFormat(dataFormat.getFormat("text")); // Datenformat Text
}
项目:SporttagePlaner
文件:PfeiflistenMaker.java
private void setStyles() {
csTitel = wb.createCellStyle();
csUntertitel = wb.createCellStyle();
csTabelleFett = wb.createCellStyle();
csTabelleNormal = wb.createCellStyle();
DataFormat dataFormat = wb.createDataFormat(); // Um das Datenformat auf Text zu setzen
// Schriftart für Titel
Font fTitel = wb.createFont();
fTitel.setFontHeightInPoints((short) 24); // größe 24pt
fTitel.setColor(Font.COLOR_NORMAL); // schwarz
fTitel.setBoldweight(Font.BOLDWEIGHT_BOLD); // fett
// CellStyle für den Titel
csTitel.setFont(fTitel); // Schrift setzen
csTitel.setAlignment(CellStyle.ALIGN_CENTER_SELECTION); // Mittige Anordnung
csTitel.setDataFormat(dataFormat.getFormat("text")); // Datenformat Text
// Schriftart für den Untertitel
Font fUntertitel = wb.createFont();
fUntertitel.setFontHeightInPoints((short) 10); // Schriftgröße auf 10pt setzen
fUntertitel.setColor(Font.COLOR_NORMAL); // Schriftfarbe schwarz
fUntertitel.setBoldweight(Font.BOLDWEIGHT_NORMAL);
// CellStyle für den Untertitel
csUntertitel.setFont(fUntertitel); // Schriftart
csUntertitel.setAlignment(CellStyle.ALIGN_CENTER_SELECTION); // Mittige Anordnung
csUntertitel.setDataFormat(dataFormat.getFormat("text")); // Datenformat Text
// Schriftart für Tabellenüberschriften
Font fTabelleFett = wb.createFont();
fTabelleFett.setFontHeightInPoints((short) 10); // größe 11pt
fTabelleFett.setColor(Font.COLOR_NORMAL); // schwarz
fTabelleFett.setBoldweight(Font.BOLDWEIGHT_BOLD); // fett
// CellStyle für die Tabellenüberschriften
csTabelleFett.setFont(fTabelleFett); // Schriftart
csTabelleFett.setAlignment(CellStyle.ALIGN_CENTER_SELECTION); // Mittige Anordnung
csTabelleFett.setAlignment(CellStyle.ALIGN_CENTER);
csTabelleFett.setBorderBottom(CellStyle.BORDER_THIN); // Umrandung unten einschalten
csTabelleFett.setBottomBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung unten in schwarz
csTabelleFett.setBorderLeft(CellStyle.BORDER_THIN); // Umrandung links einschalten
csTabelleFett.setLeftBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung links in schwarz
csTabelleFett.setBorderTop(CellStyle.BORDER_THIN); // Umrandung oben einschalten
csTabelleFett.setTopBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung oben in schwarz
csTabelleFett.setBorderRight(CellStyle.BORDER_THIN); // Umrandung rechts einschalten
csTabelleFett.setRightBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung rechts in schwarz
csTabelleFett.setDataFormat(dataFormat.getFormat("text")); // Datenformat Text
// Schriftart für Spiele, Schiris, Zeiten etc.
Font fTabelleNormal = wb.createFont();
fTabelleNormal.setFontHeightInPoints((short) 10); // Schriftgröße auf 10pt setzen
fTabelleNormal.setColor(Font.COLOR_NORMAL); // Schriftfarbe schwarz
fTabelleNormal.setBoldweight(Font.BOLDWEIGHT_NORMAL);
// CellStyle für Spiele, Schiris, Zeiten etc.
csTabelleNormal.cloneStyleFrom(csTabelleFett);
csTabelleNormal.setFont(fTabelleNormal); // Schriftart
}
项目:SporttagePlaner
文件:KontrollistenWriter.java
private void setStyles() {
csNormal1 = wb.createCellStyle(); // Stil für Uhrzeiten, Namen etc. (gerade Spiele)
csNormal2 = wb.createCellStyle(); // ungerade Spiele
csInfos = wb.createCellStyle(); // Stil für Infos über der eigentlichen Liste
csUeberschriften = wb.createCellStyle(); // Stil für Überschriften
DataFormat dataFormat = wb.createDataFormat(); // Textformat in den Zellen
// Schriftart für Überschriften
Font fUeberschriften = wb.createFont();
fUeberschriften.setFontHeightInPoints((short) 11); // 12pt
fUeberschriften.setColor(Font.COLOR_NORMAL); // schwarz
fUeberschriften.setBoldweight(Font.BOLDWEIGHT_BOLD); // fett
// CellStyle für Überschriften
csUeberschriften.setFont(fUeberschriften);
csUeberschriften.setAlignment(CellStyle.ALIGN_CENTER_SELECTION); // zentrieren
csUeberschriften.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
csUeberschriften.setBorderBottom(CellStyle.BORDER_THIN); // Umrandung unten einschalten
csUeberschriften.setBottomBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung unten in schwarz
csUeberschriften.setBorderLeft(CellStyle.BORDER_THIN); // Umrandung links einschalten
csUeberschriften.setLeftBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung links in schwarz
csUeberschriften.setBorderTop(CellStyle.BORDER_THIN); // Umrandung oben einschalten
csUeberschriften.setTopBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung oben in schwarz
csUeberschriften.setBorderRight(CellStyle.BORDER_THIN); // Umrandung rechts einschalten
csUeberschriften.setRightBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung rechts in schwarz
csUeberschriften.setDataFormat(dataFormat.getFormat("text")); // als Text formatiert
// Schriftart für Infos am Anfang
Font fInfos = wb.createFont();
fInfos.setFontHeightInPoints((short) 11); // 11pt
fInfos.setColor(Font.COLOR_NORMAL); // schwarz
fInfos.setBoldweight(Font.BOLDWEIGHT_BOLD);
// CellStyle für Infos
csInfos.setFont(fInfos);
csInfos.setAlignment(CellStyle.ALIGN_CENTER_SELECTION); // zentriert
csInfos.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
csInfos.setDataFormat(dataFormat.getFormat("text")); // text
// Schriftart für normales
Font fNormal = wb.createFont();
fNormal.setFontHeightInPoints((short) 10); // 11pt
fNormal.setColor(Font.COLOR_NORMAL);
fNormal.setBoldweight(Font.BOLDWEIGHT_NORMAL);
// CellStyle normal
csNormal1.setFont(fNormal);
csNormal1.setAlignment(CellStyle.ALIGN_LEFT); // linksbündig
csNormal1.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
csNormal1.setBorderBottom(CellStyle.BORDER_THIN); // Umrandung unten einschalten
csNormal1.setBottomBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung unten in schwarz
csNormal1.setBorderLeft(CellStyle.BORDER_THIN); // Umrandung links einschalten
csNormal1.setLeftBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung links in schwarz
csNormal1.setBorderTop(CellStyle.BORDER_THIN); // Umrandung oben einschalten
csNormal1.setTopBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung oben in schwarz
csNormal1.setBorderRight(CellStyle.BORDER_THIN); // Umrandung rechts einschalten
csNormal1.setRightBorderColor(IndexedColors.BLACK.getIndex()); // Umrandung rechts in schwarz
csNormal1.setDataFormat(dataFormat.getFormat("text"));
csNormal2.cloneStyleFrom(csNormal1); // Gleich wie Normal für Gerade, nur der Hintergrund ist anders
csNormal2.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); // leicht grau
csNormal2.setFillPattern(CellStyle.SOLID_FOREGROUND);
}
项目:covito-kit
文件:ExportExcel.java
/**
* 添加一个单元格
*
* @param row
* 添加的行
* @param column
* 添加列号
* @param val
* 添加值
* @param align
* 对齐方式
* @return 单元格对象
*/
public Cell addCell(Row row, int column, Object val, ExAlign align) {
Cell cell = row.createCell(column);
CellStyle style = styles.get("data" + align.getValue());
try {
if (val == null) {
cell.setCellValue("");
} else if (val instanceof String) {
cell.setCellValue((String) val);
} else if (val instanceof Integer) {
cell.setCellValue((Integer) val);
} else if (val instanceof Long) {
cell.setCellValue((Long) val);
} else if (val instanceof Double) {
cell.setCellValue((Double) val);
} else if (val instanceof Float) {
cell.setCellValue((Float) val);
} else if (val instanceof Date) {
DataFormat format = wb.createDataFormat();
style.setDataFormat(format.getFormat("yyyy-MM-dd"));
cell.setCellValue((Date) val);
} else {
throw new RuntimeException("value is unkown class type");
}
} catch (Exception ex) {
log.info("Set cell value [" + row.getRowNum() + "," + column + "] error: "
+ ex.toString());
cell.setCellValue(val.toString());
}
cell.setCellStyle(style);
return cell;
}
项目:birt
文件:StyleManagerUtils.java
/**
* Apply a BIRT number/date/time format to a POI CellStyle.
* @param workbook
* The workbook containing the CellStyle (needed to create a new DataFormat).
* @param birtStyle
* The BIRT style which may contain a number format.
* @param poiStyle
* The CellStyle that is to receive the number format.
*/
public void applyNumberFormat(Workbook workbook, BirtStyle birtStyle, CellStyle poiStyle, Locale locale) {
String dataFormat = null;
String format = getNumberFormat(birtStyle);
if( format != null ) {
log.debug( "BIRT number format == ", format);
dataFormat = poiNumberFormatFromBirt(format);
} else {
format = getDateTimeFormat(birtStyle);
if( format != null ) {
log.debug( "BIRT date/time format == ", format );
dataFormat = poiDateTimeFormatFromBirt( format, locale );
} else {
format = getTimeFormat(birtStyle);
if( format != null ) {
log.debug( "BIRT time format == ", format );
dataFormat = poiDateTimeFormatFromBirt( format, locale );
} else {
format = getDateFormat(birtStyle);
if( format != null ) {
log.debug( "BIRT date format == ", format );
dataFormat = poiDateTimeFormatFromBirt( format, locale );
}
}
}
}
if( dataFormat != null ) {
DataFormat poiFormat = workbook.createDataFormat();
log.debug( "Setting POI data format to ", dataFormat);
poiStyle.setDataFormat(poiFormat.getFormat(dataFormat));
}
}
项目:CVRP
文件:PlotIt.java
public void initialize() throws IOException{
File directory = new File( "." );
fileExists = false;
for( File f : directory.listFiles() )
{
if( f.getName().equals( workBookName ) )
{
fileExists = true;
break;
}
}
File workBookFile = new File(workBookName);
if(!fileExists){
workBookFile.createNewFile();
wb = new HSSFWorkbook();
}else{
//in = ;
wb = new HSSFWorkbook(new FileInputStream(workBookFile));
}
// create a new workbook
out = new FileOutputStream(workBookName);
DataFormat df = wb.createDataFormat();
for(int i = 0 ; i < datatypes.length ; i++){
cellTypes[i] = wb.createCellStyle();
cellTypes[i].setDataFormat(df.getFormat(datatypes[i]));
}
}
项目:pentaho-kettle
文件:ExcelWriterStep.java
/**
* Set specified cell format
*
* @param excelFieldFormat the specified format
* @param cell the cell to set up format
*/
private void setDataFormat( String excelFieldFormat, Cell cell ) {
if ( log.isDebug() ) {
logDebug( BaseMessages.getString( PKG, "ExcelWriterStep.Log.SetDataFormat", excelFieldFormat, CellReference
.convertNumToColString( cell.getColumnIndex() ), cell.getRowIndex() ) );
}
DataFormat format = data.wb.createDataFormat();
short formatIndex = format.getFormat( excelFieldFormat );
CellStyle style = data.wb.createCellStyle();
style.cloneStyleFrom( cell.getCellStyle() );
style.setDataFormat( formatIndex );
cell.setCellStyle( style );
}
项目:bdf2
文件:ExcelReportBuilder.java
private int buildGridExcelData(ReportGrid gridModel, Sheet sheet, int starDataRow, Map<String, CellStyle> styles) {
CellStyle dataAlignLeftStyle = styles.get(GridStyleType.dataAlignLeftStyle.name());
CellStyle dataAlignCenterStyle = styles.get(GridStyleType.dataAlignCenterStyle.name());
CellStyle dataAlignRightStyle = styles.get(GridStyleType.dataAlignRightStyle.name());
IFillCellInterceptor interceptor = ContextHolder.getBean(IFillCellInterceptor.BEAN_ID);
List<ReportGridHeader> bottomGridExcelHeader = new ArrayList<ReportGridHeader>();
this.calculateBottomColumnHeader(gridModel.getGridHeaderModelList(), bottomGridExcelHeader);
List<Map<String, Object>> excelDatas = gridModel.getGridDataModel().getDatas();
String treeColumn = gridModel.getGridDataModel().getTreeColumn();
int excelDataIndex = 0;
int rowSize = excelDatas.size();
Cell cell;
Row row;
for (int rowNum = starDataRow; rowNum <= starDataRow + rowSize - 1; rowNum++) {
row = sheet.createRow(rowNum);
Map<String, Object> map = excelDatas.get(excelDataIndex);
int j = 0;
for (ReportGridHeader header : bottomGridExcelHeader) {
Object value = map.get(header.getColumnName());
int dataAlign = header.getDataAlign();
cell = row.createCell(j);
if (dataAlign == 1) {
cell.setCellStyle(dataAlignCenterStyle);
} else if (dataAlign == 2) {
cell.setCellStyle(dataAlignRightStyle);
} else {
cell.setCellStyle(dataAlignLeftStyle);
}
if (value != null) {
if (header.getColumnName().equalsIgnoreCase(treeColumn)) {
int level = this.calculateIndentationCount(value.toString());
cell.setCellStyle(new GridStyleBuilder().createIndentationCellStyle(sheet.getWorkbook(), level == 0 ? 0 : level * 2));
cell.setCellValue(value.toString());
} else {
if (value instanceof BigDecimal || value instanceof Float || value instanceof Double){
CellStyle style = cell.getCellStyle();
DataFormat format = sheet.getWorkbook().createDataFormat();
String displayFormat = header.getDisplayFormat();
if (StringUtils.isEmpty(displayFormat))
style.setDataFormat(format.getFormat("#,##0.00"));
else
style.setDataFormat(format.getFormat(displayFormat));
cell.setCellStyle(style);
}
interceptor.fillCellValue(sheet, row, cell, value);
}
} else {
cell.setCellValue("");
}
sheet.setColumnWidth(cell.getColumnIndex(), header.getWidth() / 6 > 255 ? 254 * 256 : header.getWidth() / 6 * 256);
j++;
}
excelDataIndex++;
}
return starDataRow + rowSize;
}
项目:excel-cellformatter
文件:BuiltInFormatGenerateTool.java
private void execute(final Sheet sheet) {
DataFormat format = sheet.getWorkbook().createDataFormat();
for(int i=0; i <= 59; i++) {
final Row row = sheet.getRow(3 + i);
Cell descriptionCell = row.getCell(1);
Cell testCaseCell = row.getCell(2);
Cell testResultCell = row.getCell(3);
Cell indexCell = row.getCell(4);
Cell formatCell = row.getCell(5);
descriptionCell.setCellValue(String.format("[10進数]=%d, [16進数]=%s", i, Integer.toHexString(i)));
// テストケースのスタイルの設定
CellStyle style = sheet.getWorkbook().createCellStyle();
style.setDataFormat((short)i);
style.setBorderBottom(CellStyle.BORDER_THIN);
testCaseCell.setCellStyle(style);
if(i == 0) {
testCaseCell.setCellValue("テキスト");
} else if(range(i, 1, 8)) {
// 数値
testCaseCell.setCellValue(-123.456);
} else if(range(i, 9, 11)) {
// パーセント、小数
testCaseCell.setCellValue(0.0123);
} else if(range(i, 12, 13)) {
// 分数
testCaseCell.setCellValue(12.345);
} else if(range(i, 14, 36)) {
// 日時
testCaseCell.setCellValue(Timestamp.valueOf("2000-02-29 10:19:23.123"));
} else if(range(i, 37, 44)) {
// 会計
testCaseCell.setCellValue(-123.456);
} else if(range(i, 45, 48)) {
// 時間、経過時間
testCaseCell.setCellValue(Timestamp.valueOf("1900-01-01 00:01:01.000"));
} else if(range(i, 9, 11)) {
// 指数
testCaseCell.setCellValue(123.456789);
} else if(i == 49) {
// テキスト
testCaseCell.setCellValue("テキスト");
} else if(range(i, 50, 59)) {
testCaseCell.setCellValue(Timestamp.valueOf("2000-02-29 10:19:23.123"));
}
// インデックス
indexCell.setCellValue(i);
// フォーマット
formatCell.setCellValue(BuiltinFormats.getBuiltinFormat(i));
}
}
项目:t-rex
文件:PoiSheetParser.java
private void changeValueIfNeeded(Cell cell) {
//validate
String originalValue = cell.getStringCellValue();
if (originalValue == null || originalValue.isEmpty()) return;
//interprets
Object result = interpreter.parseTemplate(originalValue, context, variables, formatter);
//converts
if (result != null) {
if (formatter.format() != null) {
//create data format
DataFormat df = workbook.createDataFormat();
short sdf = df.getFormat(formatter.format());
//set format
CellStyle style = cell.getCellStyle();
if (style == null) {
style = workbook.createCellStyle();
}
style.setDataFormat(sdf);
}
if (result instanceof Date) {
cell.setCellType(Cell.CELL_TYPE_NUMERIC);
cell.setCellValue((Date) result);
} else if (result instanceof Calendar) {
cell.setCellType(Cell.CELL_TYPE_NUMERIC);
cell.setCellValue((Calendar) result);
} else if (result instanceof Number) {
cell.setCellType(Cell.CELL_TYPE_NUMERIC);
Number numValue = (Number) result;
cell.setCellValue(numValue.doubleValue());
} else if (result instanceof Boolean) {
cell.setCellType(Cell.CELL_TYPE_BOOLEAN);
Boolean boolValue = (Boolean) result;
cell.setCellValue(boolValue);
} else {
String strValue = result.toString();
if (!originalValue.equals(strValue)) {
cell.setCellType(Cell.CELL_TYPE_STRING);
cell.setCellValue(strValue);
}
}
} else {
cell.setCellValue((String) null);
}
}
项目:xcelite
文件:CellStyles.java
private void createDateFormatStyle() {
dateStyle = wb.createCellStyle();
DataFormat df = wb.createDataFormat();
dateStyle.setDataFormat(df.getFormat(DEFAULT_DATE_FORMAT));
}
项目:xcelite
文件:CellStyles.java
public CellStyle getCustomDataFormatStyle(String dataFormat) {
CellStyle cellStyle = wb.createCellStyle();
DataFormat df = wb.createDataFormat();
cellStyle.setDataFormat(df.getFormat(dataFormat));
return cellStyle;
}
项目:excel-streaming-reader
文件:StreamingWorkbook.java
/**
* Not supported
*/
@Override
public DataFormat createDataFormat() {
throw new UnsupportedOperationException();
}
项目:olca-modules
文件:Excel.java
public static short dateFormat(Workbook workbook) {
DataFormat format = workbook.createDataFormat();
return format.getFormat("mm/dd/yyyy hh:mm");
}
项目:excel2canvas
文件:ExcelUtils.java
public static CellStyle createDateStyle(Workbook workbook, String format) {
CellStyle style = workbook.createCellStyle();
DataFormat df = workbook.createDataFormat();
style.setDataFormat(df.getFormat(format));
return style;
}
项目:pentaho-kettle
文件:ExcelWriterStep_StyleFormatTest.java
/**
* Test applying Format and Style from cell (from a template) when writing fields
*
* @param fileType
* @throws Exception
*/
private void testStyleFormat( String fileType ) throws Exception {
setupStepMock( fileType );
createStepMeta( fileType );
createStepData( fileType );
step.init( stepMeta, stepData );
// We do not run transformation or executing the whole step
// instead we just execute ExcelWriterStepData.writeNextLine() to write to Excel workbook object
// Values are written in A2:D2 and A3:D3 rows
List<Object[]> rows = createRowData();
for ( int i = 0; i < rows.size(); i++ ) {
step.writeNextLine( rows.get( i ) );
}
// Custom styles are loaded from G1 cell
Row xlsRow = stepData.sheet.getRow( 0 );
Cell baseCell = xlsRow.getCell( 6 );
CellStyle baseCellStyle = baseCell.getCellStyle();
DataFormat format = stepData.wb.createDataFormat();
// Check style of the exported values in A3:D3
xlsRow = stepData.sheet.getRow( 2 );
for ( int i = 0; i < stepData.inputRowMeta.size(); i++ ) {
Cell cell = xlsRow.getCell( i );
CellStyle cellStyle = cell.getCellStyle();
if ( i > 0 ) {
assertEquals( cellStyle.getBorderRight(), baseCellStyle.getBorderRight() );
assertEquals( cellStyle.getFillPattern(), baseCellStyle.getFillPattern() );
} else {
// cell A2/A3 has no custom style
assertFalse( cellStyle.getBorderRight() == baseCellStyle.getBorderRight() );
assertFalse( cellStyle.getFillPattern() == baseCellStyle.getFillPattern() );
}
if ( i != 1 ) {
assertEquals( format.getFormat( cellStyle.getDataFormat() ), "0.00000" );
} else {
// cell B2/B3 use different format from the custom style
assertEquals( format.getFormat( cellStyle.getDataFormat() ), "##0,000.0" );
}
}
}
项目:pentaho-kettle
文件:ExcelWriterStep_StyleFormatTest.java
/**
* Setup the data necessary for Excel Writer step
*
* @param fileType
* @throws KettleException
*/
private void createStepData( String fileType ) throws KettleException {
stepData = new ExcelWriterStepData();
stepData.inputRowMeta = step.getInputRowMeta().clone();
stepData.outputRowMeta = step.getInputRowMeta().clone();
// we don't run transformation so ExcelWriterStep.processRow() doesn't get executed
// we populate the ExcelWriterStepData with bare minimum required values
CellReference cellRef = new CellReference( stepMeta.getStartingCell() );
stepData.startingRow = cellRef.getRow();
stepData.startingCol = cellRef.getCol();
stepData.posX = stepData.startingCol;
stepData.posY = stepData.startingRow;
int numOfFields = stepData.inputRowMeta.size();
stepData.fieldnrs = new int[numOfFields];
stepData.linkfieldnrs = new int[numOfFields];
stepData.commentfieldnrs = new int[numOfFields];
for ( int i = 0; i < numOfFields; i++ ) {
stepData.fieldnrs[i] = i;
stepData.linkfieldnrs[i] = -1;
stepData.commentfieldnrs[i] = -1;
}
// we avoid reading/writing Excel files, so ExcelWriterStep.prepareNextOutputFile() doesn't get executed
// create Excel workbook object
stepData.wb = stepMeta.getExtension().equalsIgnoreCase( "xlsx" ) ? new XSSFWorkbook() : new HSSFWorkbook();
stepData.sheet = stepData.wb.createSheet();
stepData.file = null;
stepData.clearStyleCache( numOfFields );
// we avoid reading template file from disk
// so set beforehand cells with custom style and formatting
DataFormat format = stepData.wb.createDataFormat();
Row xlsRow = stepData.sheet.createRow( 0 );
// Cell F1 has custom style applied, used as template
Cell cell = xlsRow.createCell( 5 );
CellStyle cellStyle = stepData.wb.createCellStyle();
cellStyle.setBorderRight( CellStyle.BORDER_THICK );
cellStyle.setFillPattern( CellStyle.FINE_DOTS );
cell.setCellStyle( cellStyle );
// Cell G1 has same style, but also a custom data format
cellStyle = stepData.wb.createCellStyle();
cellStyle.cloneStyleFrom( cell.getCellStyle() );
cell = xlsRow.createCell( 6 );
cellStyle.setDataFormat( format.getFormat( "##0,000.0" ) );
cell.setCellStyle( cellStyle );
}