aboutsummaryrefslogtreecommitdiffstats
path: root/src/examples
diff options
context:
space:
mode:
authorNick Burch <nick@apache.org>2011-09-30 19:30:15 +0000
committerNick Burch <nick@apache.org>2011-09-30 19:30:15 +0000
commit3cac9ec7384eee912f4ed3159d7d1e4ce7be8293 (patch)
tree773871d85701098dde32e04ff23ec764e812b92a /src/examples
parent3d0187a0200d14a6237b1fb530d48847eb248f1a (diff)
downloadpoi-3cac9ec7384eee912f4ed3159d7d1e4ce7be8293.tar.gz
poi-3cac9ec7384eee912f4ed3159d7d1e4ce7be8293.zip
Add a HSSF/XSSF example relating to cell styles and colours
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1177793 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/examples')
-rw-r--r--src/examples/src/org/apache/poi/ss/examples/CellStyleDetails.java94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/examples/src/org/apache/poi/ss/examples/CellStyleDetails.java b/src/examples/src/org/apache/poi/ss/examples/CellStyleDetails.java
new file mode 100644
index 0000000000..8dab14fa7a
--- /dev/null
+++ b/src/examples/src/org/apache/poi/ss/examples/CellStyleDetails.java
@@ -0,0 +1,94 @@
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+package org.apache.poi.ss.examples;
+
+import java.io.File;
+
+import org.apache.poi.hssf.usermodel.HSSFFont;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellStyle;
+import org.apache.poi.ss.usermodel.Color;
+import org.apache.poi.ss.usermodel.DataFormatter;
+import org.apache.poi.ss.usermodel.Font;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.WorkbookFactory;
+import org.apache.poi.ss.util.CellReference;
+import org.apache.poi.xssf.usermodel.XSSFColor;
+import org.apache.poi.xssf.usermodel.XSSFFont;
+
+/**
+ * Demonstrates how to read excel styles for cells
+ */
+public class CellStyleDetails {
+ public static void main(String[] args) throws Exception {
+ if(args.length == 0) {
+ throw new IllegalArgumentException("Filename must be given");
+ }
+
+ Workbook wb = WorkbookFactory.create(new File(args[0]));
+ DataFormatter formatter = new DataFormatter();
+
+ for(int sn=0; sn<wb.getNumberOfSheets(); sn++) {
+ Sheet sheet = wb.getSheetAt(sn);
+ System.out.println("Sheet #" + sn + " : " + sheet.getSheetName());
+
+ for(Row row : sheet) {
+ System.out.println(" Row " + row.getRowNum());
+
+ for(Cell cell : row) {
+ CellReference ref = new CellReference(cell);
+ System.out.print(" " + ref.formatAsString());
+ System.out.print(" (" + cell.getColumnIndex() + ") ");
+
+ CellStyle style = cell.getCellStyle();
+ System.out.print("Format=" + style.getDataFormatString() + " ");
+ System.out.print("FG=" + renderColor(style.getFillForegroundColorColor()) + " ");
+ System.out.print("BG=" + renderColor(style.getFillBackgroundColorColor()) + " ");
+
+ Font font = wb.getFontAt( style.getFontIndex() );
+ System.out.print("Font=" + font.getFontName() + " ");
+ System.out.print("FontColor=");
+ if(font instanceof HSSFFont) {
+ System.out.print( renderColor( ((HSSFFont)font).getHSSFColor((HSSFWorkbook)wb)) );
+ }
+ if(font instanceof XSSFFont) {
+ System.out.print( renderColor( ((XSSFFont)font).getXSSFColor()) );
+ }
+
+ System.out.println();
+ System.out.println(" " + formatter.formatCellValue(cell));
+ }
+ }
+
+ System.out.println();
+ }
+ }
+
+ private static String renderColor(Color color) {
+ if(color instanceof HSSFColor) {
+ return ((HSSFColor)color).getHexString();
+ } else if(color instanceof XSSFColor) {
+ return ((XSSFColor)color).getARGBHex();
+ } else {
+ return "(none)";
+ }
+ }
+}