[ xlsgen ]
$_sys.load("su", "org.apache.commons.lang.StringUtils") $_sys.load("cu", "org.apache.commons.lang.ClassUtils") $_xls.read("book", "beans.xls") #foreach($sheet in $book.sheets) #set($clsname = "${sheet.row(0).cell(1)}") #set($clsdesc = "${sheet.row(1).cell(1)}") #set($sheet.titleLine = 2) /** * $clsname<br> * $clsdesc */ public class $sheet.name { #foreach($row in $sheet.table) #set($name = "$row.cell('プロパティ名')") #set($cname = $su.capitalize($name)) #set($type = "$row.cell('型')") #set($stype = $cu.getShortClassName($type)) #set($desc = "$row.cell('説明')") ///////////////////////////////////////////////////////////////// // $desc private $stype $name; /** * $descを取得する。 * * @return $desc */ public $stype get${cname}() { return $name; } /** * ${desc}をセットする。 * * @param $name $desc */ public void set${cname}($stype $name) { this.$name = $name; } #end } $_wrt.out("${sheet.name}.java") #end
@echo off set ROOT=..\.. set XLSGENCP=%ROOT%;%ROOT%\xlsgen.jar;%CLASSPATH% for %%i in (%ROOT%\lib\*) do call %ROOT%\appendXLSGENCP %%i java -cp %XLSGENCP% xlsgen.Xlsgen beans.vm
/** * 社員クラス<br> * 社員の情報を保持します。 */ public class Emp { ///////////////////////////////////////////////////////////////// // 姓名 private String name; /** * 姓名を取得する。 * * @return 姓名 */ public String getName() { return name; } /** * 姓名をセットする。 * * @param name 姓名 */ public void setName(String name) { this.name = name; } ///////////////////////////////////////////////////////////////// // 年齢 private int age; /** * 年齢を取得する。 * * @return 年齢 */ public int getAge() { return age; } /** * 年齢をセットする。 * * @param age 年齢 */ public void setAge(int age) { this.age = age; } ///////////////////////////////////////////////////////////////// // 役職 private String position; /** * 役職を取得する。 * * @return 役職 */ public String getPosition() { return position; } /** * 役職をセットする。 * * @param position 役職 */ public void setPosition(String position) { this.position = position; } ///////////////////////////////////////////////////////////////// // 給与 private long salary; /** * 給与を取得する。 * * @return 給与 */ public long getSalary() { return salary; } /** * 給与をセットする。 * * @param salary 給与 */ public void setSalary(long salary) { this.salary = salary; } }
/** * 部署クラス<br> * 部署の情報を保持します。 */ public class Dept { ///////////////////////////////////////////////////////////////// // 部署名 private String name; /** * 部署名を取得する。 * * @return 部署名 */ public String getName() { return name; } /** * 部署名をセットする。 * * @param name 部署名 */ public void setName(String name) { this.name = name; } ///////////////////////////////////////////////////////////////// // 人数 private int count; /** * 人数を取得する。 * * @return 人数 */ public int getCount() { return count; } /** * 人数をセットする。 * * @param count 人数 */ public void setCount(int count) { this.count = count; } ///////////////////////////////////////////////////////////////// // 部署の説明 private String desc; /** * 部署の説明を取得する。 * * @return 部署の説明 */ public String getDesc() { return desc; } /** * 部署の説明をセットする。 * * @param desc 部署の説明 */ public void setDesc(String desc) { this.desc = desc; } ///////////////////////////////////////////////////////////////// // 上位の部署 private Emp upper; /** * 上位の部署を取得する。 * * @return 上位の部署 */ public Emp getUpper() { return upper; } /** * 上位の部署をセットする。 * * @param upper 上位の部署 */ public void setUpper(Emp upper) { this.upper = upper; } }