All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.docx4j.openpackaging.parts.SpreadsheetML.Styles Maven / Gradle / Ivy

package org.docx4j.openpackaging.parts.SpreadsheetML;

import org.docx4j.openpackaging.exceptions.InvalidFormatException;
import org.docx4j.openpackaging.parts.PartName;
import org.docx4j.openpackaging.parts.relationships.Namespaces;
import org.xlsx4j.sml.CTCellStyle;
import org.xlsx4j.sml.CTStylesheet;
import org.xlsx4j.sml.CTXf;

public class Styles  extends JaxbSmlPart {
	
	public Styles(PartName partName) throws InvalidFormatException {
		super(partName);
		init();
	}

	public Styles() throws InvalidFormatException {
		super(new PartName("/xl/styles.xml"));
		init();
	}
	
	public void init() {
				
		// Used if this Part is added to [Content_Types].xml 
		setContentType(new  org.docx4j.openpackaging.contenttype.ContentType( 
				org.docx4j.openpackaging.contenttype.ContentTypes.SPREADSHEETML_STYLES));

		// Used when this Part is added to a rels 
		setRelationshipType(Namespaces.SPREADSHEETML_STYLES);
		
	}
	
	/**
	 * Get the cell style by index.
	 * 
	 * @param idx
	 * @return
	 */
	public CTCellStyle getStyleByIndex(long idx) {
		
		if (this.getJaxbElement().getCellStyles()!=null) {
			return this.getJaxbElement().getCellStyles().getCellStyle().get((int)idx);
		}
		
		return null;
	}
	
	/**
	 *  Cells in the Sheet Part reference the xf (data format) records by zero-based index.
	 *  
	 * @param idx
	 * @return
	 */
	public CTXf getXfByIndex(long idx) {

		if (this.getJaxbElement().getCellXfs()!=null) {
			return this.getJaxbElement().getCellXfs().getXf().get( (int)idx);
		}
		
		return null;
		
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy