001 package railo.runtime.functions.poi; 002 003 import railo.commons.io.res.Resource; 004 import railo.runtime.PageContext; 005 import railo.runtime.exp.ApplicationException; 006 import railo.runtime.exp.PageException; 007 import railo.runtime.op.Caster; 008 import railo.runtime.op.Decision; 009 import railo.runtime.poi.Excel; 010 011 public class SpreadSheetWrite { 012 public static String call(PageContext pc,Excel excel, String path) throws PageException { 013 return call(pc, excel, path, null, false); 014 } 015 public static String call(PageContext pc,Excel excel, String path,Object passwordOrOverwrite) throws PageException { 016 if(Decision.isBoolean(passwordOrOverwrite)) 017 return call(pc, excel, path, null, Caster.toBooleanValue(passwordOrOverwrite)); 018 return call(pc, excel, path, passwordOrOverwrite, false); 019 } 020 021 public static String call(PageContext pc,Excel excel, String path,Object oPassword,boolean overwrite) throws PageException { 022 Resource res=Caster.toResource(pc,path, false); 023 String password=oPassword==null?null:Caster.toString(oPassword); 024 if(!overwrite && res.isFile()) 025 throw new ApplicationException("Resource ["+res+"] already exist"); 026 027 028 excel.write(res,password); 029 return null; 030 } 031 }