Fix inconsistent indents

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1677369 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2015-05-03 07:56:40 +00:00
parent 602832bda6
commit c76db74929
1 changed files with 395 additions and 396 deletions

View File

@ -62,73 +62,73 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.StyleSheetDocument;
* Table of styles shared across all sheets in a workbook.
*/
public class StylesTable extends POIXMLDocumentPart {
private final Map<Integer, String> numberFormats = new HashMap<Integer,String>();
private final boolean[] usedNumberFormats = new boolean[SpreadsheetVersion.EXCEL2007.getMaxCellStyles()];
private final List<XSSFFont> fonts = new ArrayList<XSSFFont>();
private final List<XSSFCellFill> fills = new ArrayList<XSSFCellFill>();
private final List<XSSFCellBorder> borders = new ArrayList<XSSFCellBorder>();
private final List<CTXf> styleXfs = new ArrayList<CTXf>();
private final List<CTXf> xfs = new ArrayList<CTXf>();
private final Map<Integer, String> numberFormats = new HashMap<Integer,String>();
private final boolean[] usedNumberFormats = new boolean[SpreadsheetVersion.EXCEL2007.getMaxCellStyles()];
private final List<XSSFFont> fonts = new ArrayList<XSSFFont>();
private final List<XSSFCellFill> fills = new ArrayList<XSSFCellFill>();
private final List<XSSFCellBorder> borders = new ArrayList<XSSFCellBorder>();
private final List<CTXf> styleXfs = new ArrayList<CTXf>();
private final List<CTXf> xfs = new ArrayList<CTXf>();
private final List<CTDxf> dxfs = new ArrayList<CTDxf>();
private final List<CTDxf> dxfs = new ArrayList<CTDxf>();
/**
* The first style id available for use as a custom style
*/
public static final int FIRST_CUSTOM_STYLE_ID = BuiltinFormats.FIRST_USER_DEFINED_FORMAT_INDEX + 1;
private static final int MAXIMUM_STYLE_ID = SpreadsheetVersion.EXCEL2007.getMaxCellStyles();
/**
* The first style id available for use as a custom style
*/
public static final int FIRST_CUSTOM_STYLE_ID = BuiltinFormats.FIRST_USER_DEFINED_FORMAT_INDEX + 1;
private static final int MAXIMUM_STYLE_ID = SpreadsheetVersion.EXCEL2007.getMaxCellStyles();
private StyleSheetDocument doc;
private ThemesTable theme;
private StyleSheetDocument doc;
private ThemesTable theme;
/**
* Create a new, empty StylesTable
*/
public StylesTable() {
super();
doc = StyleSheetDocument.Factory.newInstance();
doc.addNewStyleSheet();
// Initialization required in order to make the document readable by MSExcel
initialize();
}
/**
* Create a new, empty StylesTable
*/
public StylesTable() {
super();
doc = StyleSheetDocument.Factory.newInstance();
doc.addNewStyleSheet();
// Initialization required in order to make the document readable by MSExcel
initialize();
}
public StylesTable(PackagePart part, PackageRelationship rel) throws IOException {
super(part, rel);
readFrom(part.getInputStream());
}
public StylesTable(PackagePart part, PackageRelationship rel) throws IOException {
super(part, rel);
readFrom(part.getInputStream());
}
public ThemesTable getTheme() {
public ThemesTable getTheme() {
return theme;
}
public void setTheme(ThemesTable theme) {
this.theme = theme;
// Pass the themes table along to things which need to
// know about it, but have already been created by now
for(XSSFFont font : fonts) {
font.setThemesTable(theme);
font.setThemesTable(theme);
}
for(XSSFCellBorder border : borders) {
border.setThemesTable(theme);
border.setThemesTable(theme);
}
}
/**
* Read this shared styles table from an XML file.
*
* @param is The input stream containing the XML document.
* @throws IOException if an error occurs while reading.
*/
/**
* Read this shared styles table from an XML file.
*
* @param is The input stream containing the XML document.
* @throws IOException if an error occurs while reading.
*/
@SuppressWarnings("deprecation") //YK: getXYZArray() array accessors are deprecated in xmlbeans with JDK 1.5 support
protected void readFrom(InputStream is) throws IOException {
try {
doc = StyleSheetDocument.Factory.parse(is);
protected void readFrom(InputStream is) throws IOException {
try {
doc = StyleSheetDocument.Factory.parse(is);
CTStylesheet styleSheet = doc.getStyleSheet();
// Grab all the different bits we care about
CTNumFmts ctfmts = styleSheet.getNumFmts();
CTNumFmts ctfmts = styleSheet.getNumFmts();
if( ctfmts != null){
for (CTNumFmt nfmt : ctfmts.getNumFmtArray()) {
int formatId = (int)nfmt.getNumFmtId();
@ -139,14 +139,14 @@ public class StylesTable extends POIXMLDocumentPart {
CTFonts ctfonts = styleSheet.getFonts();
if(ctfonts != null){
int idx = 0;
for (CTFont font : ctfonts.getFontArray()) {
// Create the font and save it. Themes Table supplied later
XSSFFont f = new XSSFFont(font, idx);
fonts.add(f);
idx++;
}
}
int idx = 0;
for (CTFont font : ctfonts.getFontArray()) {
// Create the font and save it. Themes Table supplied later
XSSFFont f = new XSSFFont(font, idx);
fonts.add(f);
idx++;
}
}
CTFills ctfills = styleSheet.getFills();
if(ctfills != null){
for (CTFill fill : ctfills.getFillArray()) {
@ -168,408 +168,407 @@ public class StylesTable extends POIXMLDocumentPart {
if(cellStyleXfs != null) styleXfs.addAll(Arrays.asList(cellStyleXfs.getXfArray()));
CTDxfs styleDxfs = styleSheet.getDxfs();
if(styleDxfs != null) dxfs.addAll(Arrays.asList(styleDxfs.getDxfArray()));
if(styleDxfs != null) dxfs.addAll(Arrays.asList(styleDxfs.getDxfArray()));
} catch (XmlException e) {
throw new IOException(e.getLocalizedMessage());
}
}
} catch (XmlException e) {
throw new IOException(e.getLocalizedMessage());
}
}
// ===========================================================
// Start of style related getters and setters
// ===========================================================
// ===========================================================
// Start of style related getters and setters
// ===========================================================
public String getNumberFormatAt(int idx) {
return numberFormats.get(idx);
}
public String getNumberFormatAt(int idx) {
return numberFormats.get(idx);
}
public int putNumberFormat(String fmt) {
if (numberFormats.containsValue(fmt)) {
// Find the key, and return that
for (Entry<Integer,String> numFmt : numberFormats.entrySet()) {
if(numFmt.getValue().equals(fmt)) {
return numFmt.getKey();
}
}
throw new IllegalStateException("Found the format, but couldn't figure out where - should never happen!");
}
public int putNumberFormat(String fmt) {
if (numberFormats.containsValue(fmt)) {
// Find the key, and return that
for (Entry<Integer,String> numFmt : numberFormats.entrySet()) {
if(numFmt.getValue().equals(fmt)) {
return numFmt.getKey();
}
}
throw new IllegalStateException("Found the format, but couldn't figure out where - should never happen!");
}
// Find a spare key, and add that
for (int i=FIRST_CUSTOM_STYLE_ID; i<usedNumberFormats.length; i++) {
if (!usedNumberFormats[i]) {
// Find a spare key, and add that
for (int i=FIRST_CUSTOM_STYLE_ID; i<usedNumberFormats.length; i++) {
if (!usedNumberFormats[i]) {
usedNumberFormats[i] = true;
numberFormats.put(i, fmt);
return i;
}
}
throw new IllegalStateException("The maximum number of Data Formats was exceeded. " +
"You can define up to " + usedNumberFormats.length + " formats in a .xlsx Workbook");
}
numberFormats.put(i, fmt);
return i;
}
}
throw new IllegalStateException("The maximum number of Data Formats was exceeded. " +
"You can define up to " + usedNumberFormats.length + " formats in a .xlsx Workbook");
}
public XSSFFont getFontAt(int idx) {
return fonts.get(idx);
}
public XSSFFont getFontAt(int idx) {
return fonts.get(idx);
}
/**
* Records the given font in the font table.
* Will re-use an existing font index if this
* font matches another, EXCEPT if forced
* registration is requested.
* This allows people to create several fonts
* then customise them later.
* Note - End Users probably want to call
* {@link XSSFFont#registerTo(StylesTable)}
*/
public int putFont(XSSFFont font, boolean forceRegistration) {
int idx = -1;
if(!forceRegistration) {
idx = fonts.indexOf(font);
}
/**
* Records the given font in the font table.
* Will re-use an existing font index if this
* font matches another, EXCEPT if forced
* registration is requested.
* This allows people to create several fonts
* then customise them later.
* Note - End Users probably want to call
* {@link XSSFFont#registerTo(StylesTable)}
*/
public int putFont(XSSFFont font, boolean forceRegistration) {
int idx = -1;
if(!forceRegistration) {
idx = fonts.indexOf(font);
}
if (idx != -1) {
return idx;
}
idx = fonts.size();
fonts.add(font);
return idx;
}
public int putFont(XSSFFont font) {
return putFont(font, false);
}
if (idx != -1) {
return idx;
}
public XSSFCellStyle getStyleAt(int idx) {
int styleXfId = 0;
idx = fonts.size();
fonts.add(font);
return idx;
}
public int putFont(XSSFFont font) {
return putFont(font, false);
}
// 0 is the empty default
if(xfs.get(idx).getXfId() > 0) {
styleXfId = (int) xfs.get(idx).getXfId();
}
public XSSFCellStyle getStyleAt(int idx) {
int styleXfId = 0;
return new XSSFCellStyle(idx, styleXfId, this, theme);
}
public int putStyle(XSSFCellStyle style) {
CTXf mainXF = style.getCoreXf();
// 0 is the empty default
if(xfs.get(idx).getXfId() > 0) {
styleXfId = (int) xfs.get(idx).getXfId();
}
if(! xfs.contains(mainXF)) {
xfs.add(mainXF);
}
return xfs.indexOf(mainXF);
}
return new XSSFCellStyle(idx, styleXfId, this, theme);
}
public int putStyle(XSSFCellStyle style) {
CTXf mainXF = style.getCoreXf();
public XSSFCellBorder getBorderAt(int idx) {
return borders.get(idx);
}
if(! xfs.contains(mainXF)) {
xfs.add(mainXF);
}
return xfs.indexOf(mainXF);
}
public int putBorder(XSSFCellBorder border) {
int idx = borders.indexOf(border);
if (idx != -1) {
return idx;
}
borders.add(border);
border.setThemesTable(theme);
return borders.size() - 1;
}
public XSSFCellBorder getBorderAt(int idx) {
return borders.get(idx);
}
public XSSFCellFill getFillAt(int idx) {
return fills.get(idx);
}
public int putBorder(XSSFCellBorder border) {
int idx = borders.indexOf(border);
if (idx != -1) {
return idx;
}
borders.add(border);
border.setThemesTable(theme);
return borders.size() - 1;
}
public List<XSSFCellBorder> getBorders(){
return borders;
}
public XSSFCellFill getFillAt(int idx) {
return fills.get(idx);
}
public List<XSSFCellFill> getFills(){
return fills;
}
public List<XSSFCellBorder> getBorders(){
return borders;
}
public List<XSSFFont> getFonts(){
return fonts;
}
public List<XSSFCellFill> getFills(){
return fills;
}
public Map<Integer, String> getNumberFormats(){
return numberFormats;
}
public List<XSSFFont> getFonts(){
return fonts;
}
public int putFill(XSSFCellFill fill) {
int idx = fills.indexOf(fill);
if (idx != -1) {
return idx;
}
fills.add(fill);
return fills.size() - 1;
}
public Map<Integer, String> getNumberFormats(){
return numberFormats;
}
public CTXf getCellXfAt(int idx) {
return xfs.get(idx);
}
public int putCellXf(CTXf cellXf) {
xfs.add(cellXf);
return xfs.size();
}
public void replaceCellXfAt(int idx, CTXf cellXf) {
xfs.set(idx, cellXf);
}
public int putFill(XSSFCellFill fill) {
int idx = fills.indexOf(fill);
if (idx != -1) {
return idx;
}
fills.add(fill);
return fills.size() - 1;
}
public CTXf getCellStyleXfAt(int idx) {
return idx < styleXfs.size() ? styleXfs.get(idx) : null;
}
public int putCellStyleXf(CTXf cellStyleXf) {
styleXfs.add(cellStyleXf);
return styleXfs.size();
}
public void replaceCellStyleXfAt(int idx, CTXf cellStyleXf) {
styleXfs.set(idx, cellStyleXf);
}
/**
* get the size of cell styles
*/
public int getNumCellStyles(){
public CTXf getCellXfAt(int idx) {
return xfs.get(idx);
}
public int putCellXf(CTXf cellXf) {
xfs.add(cellXf);
return xfs.size();
}
public void replaceCellXfAt(int idx, CTXf cellXf) {
xfs.set(idx, cellXf);
}
public CTXf getCellStyleXfAt(int idx) {
return idx < styleXfs.size() ? styleXfs.get(idx) : null;
}
public int putCellStyleXf(CTXf cellStyleXf) {
styleXfs.add(cellStyleXf);
return styleXfs.size();
}
public void replaceCellStyleXfAt(int idx, CTXf cellStyleXf) {
styleXfs.set(idx, cellStyleXf);
}
/**
* get the size of cell styles
*/
public int getNumCellStyles(){
// Each cell style has a unique xfs entry
// Several might share the same styleXfs entry
return xfs.size();
}
}
/**
* For unit testing only
*/
public int _getNumberFormatSize() {
return numberFormats.size();
}
/**
* For unit testing only
*/
public int _getNumberFormatSize() {
return numberFormats.size();
}
/**
* For unit testing only
*/
public int _getXfsSize() {
return xfs.size();
}
/**
* For unit testing only
*/
public int _getStyleXfsSize() {
return styleXfs.size();
}
/**
* For unit testing only!
*/
public CTStylesheet getCTStylesheet() {
return doc.getStyleSheet();
}
/**
* For unit testing only
*/
public int _getXfsSize() {
return xfs.size();
}
/**
* For unit testing only
*/
public int _getStyleXfsSize() {
return styleXfs.size();
}
/**
* For unit testing only!
*/
public CTStylesheet getCTStylesheet() {
return doc.getStyleSheet();
}
public int _getDXfsSize() {
return dxfs.size();
}
/**
* Write this table out as XML.
*
* @param out The stream to write to.
* @throws IOException if an error occurs while writing.
*/
public void writeTo(OutputStream out) throws IOException {
XmlOptions options = new XmlOptions(DEFAULT_XML_OPTIONS);
/**
* Write this table out as XML.
*
* @param out The stream to write to.
* @throws IOException if an error occurs while writing.
*/
public void writeTo(OutputStream out) throws IOException {
XmlOptions options = new XmlOptions(DEFAULT_XML_OPTIONS);
// Work on the current one
// Need to do this, as we don't handle
// all the possible entries yet
CTStylesheet styleSheet = doc.getStyleSheet();
// Work on the current one
// Need to do this, as we don't handle
// all the possible entries yet
CTStylesheet styleSheet = doc.getStyleSheet();
// Formats
CTNumFmts formats = CTNumFmts.Factory.newInstance();
formats.setCount(numberFormats.size());
for (Entry<Integer, String> fmt : numberFormats.entrySet()) {
CTNumFmt ctFmt = formats.addNewNumFmt();
ctFmt.setNumFmtId(fmt.getKey());
ctFmt.setFormatCode(fmt.getValue());
}
styleSheet.setNumFmts(formats);
// Formats
CTNumFmts formats = CTNumFmts.Factory.newInstance();
formats.setCount(numberFormats.size());
for (Entry<Integer, String> fmt : numberFormats.entrySet()) {
CTNumFmt ctFmt = formats.addNewNumFmt();
ctFmt.setNumFmtId(fmt.getKey());
ctFmt.setFormatCode(fmt.getValue());
}
styleSheet.setNumFmts(formats);
int idx;
// Fonts
CTFonts ctFonts = styleSheet.getFonts();
if (ctFonts == null) {
ctFonts = CTFonts.Factory.newInstance();
}
ctFonts.setCount(fonts.size());
CTFont[] ctfnt = new CTFont[fonts.size()];
idx = 0;
for(XSSFFont f : fonts) ctfnt[idx++] = f.getCTFont();
ctFonts.setFontArray(ctfnt);
styleSheet.setFonts(ctFonts);
int idx;
// Fonts
CTFonts ctFonts = styleSheet.getFonts();
if (ctFonts == null) {
ctFonts = CTFonts.Factory.newInstance();
}
ctFonts.setCount(fonts.size());
CTFont[] ctfnt = new CTFont[fonts.size()];
idx = 0;
for(XSSFFont f : fonts) ctfnt[idx++] = f.getCTFont();
ctFonts.setFontArray(ctfnt);
styleSheet.setFonts(ctFonts);
// Fills
CTFills ctFills = styleSheet.getFills();
if (ctFills == null) {
ctFills = CTFills.Factory.newInstance();
}
ctFills.setCount(fills.size());
CTFill[] ctf = new CTFill[fills.size()];
idx = 0;
for(XSSFCellFill f : fills) ctf[idx++] = f.getCTFill();
ctFills.setFillArray(ctf);
styleSheet.setFills(ctFills);
// Fills
CTFills ctFills = styleSheet.getFills();
if (ctFills == null) {
ctFills = CTFills.Factory.newInstance();
}
ctFills.setCount(fills.size());
CTFill[] ctf = new CTFill[fills.size()];
idx = 0;
for(XSSFCellFill f : fills) ctf[idx++] = f.getCTFill();
ctFills.setFillArray(ctf);
styleSheet.setFills(ctFills);
// Borders
CTBorders ctBorders = styleSheet.getBorders();
if (ctBorders == null) {
ctBorders = CTBorders.Factory.newInstance();
}
ctBorders.setCount(borders.size());
CTBorder[] ctb = new CTBorder[borders.size()];
idx = 0;
for(XSSFCellBorder b : borders) ctb[idx++] = b.getCTBorder();
ctBorders.setBorderArray(ctb);
styleSheet.setBorders(ctBorders);
// Borders
CTBorders ctBorders = styleSheet.getBorders();
if (ctBorders == null) {
ctBorders = CTBorders.Factory.newInstance();
}
ctBorders.setCount(borders.size());
CTBorder[] ctb = new CTBorder[borders.size()];
idx = 0;
for(XSSFCellBorder b : borders) ctb[idx++] = b.getCTBorder();
ctBorders.setBorderArray(ctb);
styleSheet.setBorders(ctBorders);
// Xfs
if(xfs.size() > 0) {
CTCellXfs ctXfs = styleSheet.getCellXfs();
if (ctXfs == null) {
ctXfs = CTCellXfs.Factory.newInstance();
}
ctXfs.setCount(xfs.size());
ctXfs.setXfArray(
xfs.toArray(new CTXf[xfs.size()])
);
styleSheet.setCellXfs(ctXfs);
}
// Xfs
if(xfs.size() > 0) {
CTCellXfs ctXfs = styleSheet.getCellXfs();
if (ctXfs == null) {
ctXfs = CTCellXfs.Factory.newInstance();
}
ctXfs.setCount(xfs.size());
ctXfs.setXfArray(
xfs.toArray(new CTXf[xfs.size()])
);
styleSheet.setCellXfs(ctXfs);
}
// Style xfs
if(styleXfs.size() > 0) {
CTCellStyleXfs ctSXfs = styleSheet.getCellStyleXfs();
if (ctSXfs == null) {
ctSXfs = CTCellStyleXfs.Factory.newInstance();
}
ctSXfs.setCount(styleXfs.size());
ctSXfs.setXfArray(
styleXfs.toArray(new CTXf[styleXfs.size()])
);
styleSheet.setCellStyleXfs(ctSXfs);
}
// Style xfs
if(styleXfs.size() > 0) {
CTCellStyleXfs ctSXfs = styleSheet.getCellStyleXfs();
if (ctSXfs == null) {
ctSXfs = CTCellStyleXfs.Factory.newInstance();
}
ctSXfs.setCount(styleXfs.size());
ctSXfs.setXfArray(
styleXfs.toArray(new CTXf[styleXfs.size()])
);
styleSheet.setCellStyleXfs(ctSXfs);
}
// Style dxfs
if(dxfs.size() > 0) {
CTDxfs ctDxfs = styleSheet.getDxfs();
if (ctDxfs == null) {
ctDxfs = CTDxfs.Factory.newInstance();
}
ctDxfs.setCount(dxfs.size());
ctDxfs.setDxfArray(dxfs.toArray(new CTDxf[dxfs.size()])
);
styleSheet.setDxfs(ctDxfs);
}
// Style dxfs
if(dxfs.size() > 0) {
CTDxfs ctDxfs = styleSheet.getDxfs();
if (ctDxfs == null) {
ctDxfs = CTDxfs.Factory.newInstance();
}
ctDxfs.setCount(dxfs.size());
ctDxfs.setDxfArray(dxfs.toArray(new CTDxf[dxfs.size()]));
styleSheet.setDxfs(ctDxfs);
}
// Save
doc.save(out, options);
}
// Save
doc.save(out, options);
}
@Override
protected void commit() throws IOException {
PackagePart part = getPackagePart();
OutputStream out = part.getOutputStream();
writeTo(out);
out.close();
}
@Override
protected void commit() throws IOException {
PackagePart part = getPackagePart();
OutputStream out = part.getOutputStream();
writeTo(out);
out.close();
}
private void initialize() {
//CTFont ctFont = createDefaultFont();
XSSFFont xssfFont = createDefaultFont();
fonts.add(xssfFont);
private void initialize() {
//CTFont ctFont = createDefaultFont();
XSSFFont xssfFont = createDefaultFont();
fonts.add(xssfFont);
CTFill[] ctFill = createDefaultFills();
fills.add(new XSSFCellFill(ctFill[0]));
fills.add(new XSSFCellFill(ctFill[1]));
CTFill[] ctFill = createDefaultFills();
fills.add(new XSSFCellFill(ctFill[0]));
fills.add(new XSSFCellFill(ctFill[1]));
CTBorder ctBorder = createDefaultBorder();
borders.add(new XSSFCellBorder(ctBorder));
CTBorder ctBorder = createDefaultBorder();
borders.add(new XSSFCellBorder(ctBorder));
CTXf styleXf = createDefaultXf();
styleXfs.add(styleXf);
CTXf xf = createDefaultXf();
xf.setXfId(0);
xfs.add(xf);
}
CTXf styleXf = createDefaultXf();
styleXfs.add(styleXf);
CTXf xf = createDefaultXf();
xf.setXfId(0);
xfs.add(xf);
}
private static CTXf createDefaultXf() {
CTXf ctXf = CTXf.Factory.newInstance();
ctXf.setNumFmtId(0);
ctXf.setFontId(0);
ctXf.setFillId(0);
ctXf.setBorderId(0);
return ctXf;
}
private static CTBorder createDefaultBorder() {
CTBorder ctBorder = CTBorder.Factory.newInstance();
ctBorder.addNewBottom();
ctBorder.addNewTop();
ctBorder.addNewLeft();
ctBorder.addNewRight();
ctBorder.addNewDiagonal();
return ctBorder;
}
private static CTXf createDefaultXf() {
CTXf ctXf = CTXf.Factory.newInstance();
ctXf.setNumFmtId(0);
ctXf.setFontId(0);
ctXf.setFillId(0);
ctXf.setBorderId(0);
return ctXf;
}
private static CTBorder createDefaultBorder() {
CTBorder ctBorder = CTBorder.Factory.newInstance();
ctBorder.addNewBottom();
ctBorder.addNewTop();
ctBorder.addNewLeft();
ctBorder.addNewRight();
ctBorder.addNewDiagonal();
return ctBorder;
}
private static CTFill[] createDefaultFills() {
CTFill[] ctFill = new CTFill[]{CTFill.Factory.newInstance(),CTFill.Factory.newInstance()};
ctFill[0].addNewPatternFill().setPatternType(STPatternType.NONE);
ctFill[1].addNewPatternFill().setPatternType(STPatternType.DARK_GRAY);
return ctFill;
}
private static CTFill[] createDefaultFills() {
CTFill[] ctFill = new CTFill[]{CTFill.Factory.newInstance(),CTFill.Factory.newInstance()};
ctFill[0].addNewPatternFill().setPatternType(STPatternType.NONE);
ctFill[1].addNewPatternFill().setPatternType(STPatternType.DARK_GRAY);
return ctFill;
}
private static XSSFFont createDefaultFont() {
CTFont ctFont = CTFont.Factory.newInstance();
XSSFFont xssfFont=new XSSFFont(ctFont, 0);
xssfFont.setFontHeightInPoints(XSSFFont.DEFAULT_FONT_SIZE);
xssfFont.setColor(XSSFFont.DEFAULT_FONT_COLOR);//setTheme
xssfFont.setFontName(XSSFFont.DEFAULT_FONT_NAME);
xssfFont.setFamily(FontFamily.SWISS);
xssfFont.setScheme(FontScheme.MINOR);
return xssfFont;
}
private static XSSFFont createDefaultFont() {
CTFont ctFont = CTFont.Factory.newInstance();
XSSFFont xssfFont=new XSSFFont(ctFont, 0);
xssfFont.setFontHeightInPoints(XSSFFont.DEFAULT_FONT_SIZE);
xssfFont.setColor(XSSFFont.DEFAULT_FONT_COLOR);//setTheme
xssfFont.setFontName(XSSFFont.DEFAULT_FONT_NAME);
xssfFont.setFamily(FontFamily.SWISS);
xssfFont.setScheme(FontScheme.MINOR);
return xssfFont;
}
public CTDxf getDxfAt(int idx) {
return dxfs.get(idx);
}
public CTDxf getDxfAt(int idx) {
return dxfs.get(idx);
}
public int putDxf(CTDxf dxf) {
this.dxfs.add(dxf);
return this.dxfs.size();
}
public int putDxf(CTDxf dxf) {
this.dxfs.add(dxf);
return this.dxfs.size();
}
public XSSFCellStyle createCellStyle() {
public XSSFCellStyle createCellStyle() {
int xfSize = styleXfs.size();
if (xfSize > MAXIMUM_STYLE_ID)
throw new IllegalStateException("The maximum number of Cell Styles was exceeded. " +
"You can define up to " + MAXIMUM_STYLE_ID + " style in a .xlsx Workbook");
CTXf xf = CTXf.Factory.newInstance();
xf.setNumFmtId(0);
xf.setFontId(0);
xf.setFillId(0);
xf.setBorderId(0);
xf.setXfId(0);
int indexXf = putCellXf(xf);
return new XSSFCellStyle(indexXf - 1, xfSize - 1, this, theme);
}
/**
* Finds a font that matches the one with the supplied attributes
*/
public XSSFFont findFont(short boldWeight, short color, short fontHeight, String name, boolean italic, boolean strikeout, short typeOffset, byte underline) {
for (XSSFFont font : fonts) {
if ( (font.getBoldweight() == boldWeight)
&& font.getColor() == color
&& font.getFontHeight() == fontHeight
&& font.getFontName().equals(name)
&& font.getItalic() == italic
&& font.getStrikeout() == strikeout
&& font.getTypeOffset() == typeOffset
&& font.getUnderline() == underline)
{
return font;
}
}
return null;
}
CTXf xf = CTXf.Factory.newInstance();
xf.setNumFmtId(0);
xf.setFontId(0);
xf.setFillId(0);
xf.setBorderId(0);
xf.setXfId(0);
int indexXf = putCellXf(xf);
return new XSSFCellStyle(indexXf - 1, xfSize - 1, this, theme);
}
/**
* Finds a font that matches the one with the supplied attributes
*/
public XSSFFont findFont(short boldWeight, short color, short fontHeight, String name, boolean italic, boolean strikeout, short typeOffset, byte underline) {
for (XSSFFont font : fonts) {
if ( (font.getBoldweight() == boldWeight)
&& font.getColor() == color
&& font.getFontHeight() == fontHeight
&& font.getFontName().equals(name)
&& font.getItalic() == italic
&& font.getStrikeout() == strikeout
&& font.getTypeOffset() == typeOffset
&& font.getUnderline() == underline)
{
return font;
}
}
return null;
}
}