Package railo.runtime.functions.poi

Source Code of railo.runtime.functions.poi.SpreadSheetNew

package railo.runtime.functions.poi;

import railo.runtime.PageContext;
import railo.runtime.exp.FunctionException;
import railo.runtime.exp.PageException;
import railo.runtime.op.Caster;
import railo.runtime.op.Decision;
import railo.runtime.poi.Excel;
import railo.runtime.poi.ExcelUtil;

public class SpreadSheetNew {
 
  private static final String DEFAULT_NAME = "Sheet1";

  public static Object call(PageContext pc) {
    return new Excel(DEFAULT_NAME, Excel.FORMAT_HSSF, 0);
  }

  public static Object call(PageContext pc, Object sheetNameOrXMLFormat) throws PageException {
    short format=toFormat(sheetNameOrXMLFormat);
    if(format==Excel.FORMAT_UNDEFINED)
      return new Excel(Caster.toString(sheetNameOrXMLFormat), Excel.FORMAT_HSSF, 0);
    return new Excel(DEFAULT_NAME, format, 0);
  }

  public static Object call(PageContext pc, Object oSheetName, Object oXmlFormat) throws PageException {
    // name
    String sheetName;
    if(oSheetName==null) sheetName=DEFAULT_NAME;
    else sheetName=Caster.toString(oSheetName);
   
    // format
    short format=toFormat(oXmlFormat);
    if(format==Excel.FORMAT_UNDEFINED)
      throw new FunctionException(pc, "SpreadSheetNew", 2, "xmlFormat", "invalid value ["+oXmlFormat+"], valid values are [true,false,XSSF,HSSF]");
   
    return new Excel(sheetName, format, 0);
  }
 
 
 
  private static short toFormat(Object xmlFormat) {
    if(Decision.isCastableToBoolean(xmlFormat)) {
      Boolean b = Caster.toBoolean(xmlFormat,null);
      if(b==null) return Excel.FORMAT_UNDEFINED;
      return b.booleanValue()?Excel.FORMAT_XSSF:Excel.FORMAT_HSSF;
    }
    return ExcelUtil.format(Caster.toString(xmlFormat,""), Excel.FORMAT_UNDEFINED);
  }
}
TOP

Related Classes of railo.runtime.functions.poi.SpreadSheetNew

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.