import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.StylesSource;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFFont;
import org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder;
import org.apache.poi.xssf.usermodel.extensions.XSSFCellFill;
import org.apache.xmlbeans.XmlException;
}
public Font getFontAt(long idx) {
- // TODO
- return null;
+ return new XSSFFont(fonts.get((int) idx));
}
public synchronized long putFont(Font font) {
- // TODO
- return -1;
+ return putFont((XSSFFont)font, fonts);
}
- public CellStyle getStyleAt(long idx) {
+ public CellStyle getStyleAt(long idx) {
CTXf mainXf = xfs.get((int)idx);
CTXf styleXf = null;
private long putBorder(XSSFCellBorder border, LinkedList<CTBorder> borders) {
return border.putBorder(borders);
}
+
private long putFill(XSSFCellFill fill, LinkedList<CTFill> fills) {
return fill.putFill(fills);
}
+
+ private long putFont(XSSFFont font, LinkedList<CTFont> fonts) {
+ return font.putFont(fonts);
+ }
}
--- /dev/null
+/* ====================================================================\r
+ Licensed to the Apache Software Foundation (ASF) under one or more\r
+ contributor license agreements. See the NOTICE file distributed with\r
+ this work for additional information regarding copyright ownership.\r
+ The ASF licenses this file to You under the Apache License, Version 2.0\r
+ (the "License"); you may not use this file except in compliance with\r
+ the License. You may obtain a copy of the License at\r
+\r
+ http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+ Unless required by applicable law or agreed to in writing, software\r
+ distributed under the License is distributed on an "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ See the License for the specific language governing permissions and\r
+ limitations under the License.\r
+==================================================================== */\r
+package org.apache.poi.xssf.usermodel;\r
+\r
+import java.util.LinkedList;\r
+\r
+import org.apache.poi.ss.usermodel.Font;\r
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder;\r
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFont;\r
+\r
+public class XSSFFont implements Font {\r
+ \r
+ private CTFont font;\r
+\r
+ public XSSFFont(CTFont font) {\r
+ this.font = font;\r
+ }\r
+ \r
+ public XSSFFont() {\r
+ this.font = CTFont.Factory.newInstance();\r
+ }\r
+\r
+ public short getBoldweight() {\r
+ // TODO Auto-generated method stub\r
+ return 0;\r
+ }\r
+\r
+ public byte getCharSet() {\r
+ // TODO Auto-generated method stub\r
+ return 0;\r
+ }\r
+\r
+ public short getColor() {\r
+ // TODO Auto-generated method stub\r
+ return 0;\r
+ }\r
+\r
+ public short getFontHeight() {\r
+ // TODO Auto-generated method stub\r
+ return 0;\r
+ }\r
+\r
+ public short getFontHeightInPoints() {\r
+ // TODO Auto-generated method stub\r
+ return 0;\r
+ }\r
+\r
+ public String getFontName() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+ public short getIndex() {\r
+ // TODO Auto-generated method stub\r
+ return 0;\r
+ }\r
+\r
+ public boolean getItalic() {\r
+ // TODO Auto-generated method stub\r
+ return false;\r
+ }\r
+\r
+ public boolean getStrikeout() {\r
+ // TODO Auto-generated method stub\r
+ return false;\r
+ }\r
+\r
+ public short getTypeOffset() {\r
+ // TODO Auto-generated method stub\r
+ return 0;\r
+ }\r
+\r
+ public byte getUnderline() {\r
+ // TODO Auto-generated method stub\r
+ return 0;\r
+ }\r
+\r
+ public void setBoldweight(short boldweight) {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+\r
+ public void setCharSet(byte charset) {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+\r
+ public void setColor(short color) {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+\r
+ public void setFontHeight(short height) {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+\r
+ public void setFontHeightInPoints(short height) {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+\r
+ public void setFontName(String name) {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+\r
+ public void setItalic(boolean italic) {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+\r
+ public void setStrikeout(boolean strikeout) {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+\r
+ public void setTypeOffset(short offset) {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+\r
+ public void setUnderline(byte underline) {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+ \r
+ public long putFont(LinkedList<CTFont> fonts) {\r
+ if(fonts.contains(font)) {\r
+ return fonts.indexOf(font);\r
+ }\r
+ fonts.add(font);\r
+ return fonts.size() - 1;\r
+ }\r
+\r
+}\r
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFill;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFont;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPatternFill;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTStylesheet;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf;
private StylesTable stylesTable;
private CTBorder ctBorderA;
private CTFill ctFill;
+ private CTFont ctFont;
private CTXf cellStyleXf;
private CTXf cellXf;
private XSSFCellStyle cellStyle;
long fillId = stylesTable.putFill(fill);
assertEquals(0, fillId);
+ ctFont = CTFont.Factory.newInstance();
+ XSSFFont font = new XSSFFont(ctFont);
+ long fontId = stylesTable.putFont(font);
+ assertEquals(0, fontId);
+
cellStyleXf = ctStylesheet.addNewCellStyleXfs().addNewXf();
cellStyleXf.setBorderId(0);
cellXf = ctStylesheet.addNewCellXfs().addNewXf();
ctPatternFill.setPatternType(STPatternType.DARK_DOWN);
assertEquals(8, cellStyle.getFillPattern());
}
+
+ public void testGetFont() {
+ assertNotNull(cellStyle.getFont());
+ }
}