使用Excel自动生成Java中的Model类
2009-02-06 13:16
573 查看
同事写的使用Excel生成Java的Model类的宏。我觉得很实用,赞一个,也顺便推广一把。
如图所示:
Alt+F11进入后台:
代码如下:
如图所示:
Alt+F11进入后台:
代码如下:
Private Sub CommandButton1_Click() Set fs = CreateObject("Scripting.FileSystemObject") fileNm = Range("C3").Value tbNm = Range("B3").Value tbId = Range("C3").Value ctDate = Range("D3").Value ctNm = Range("E3").Value classNm = "T" + UCase(Mid(tbId, 3, 1)) + Mid(tbId, 4, Len(tbId)) filePath = "C:/" + classNm + ".java" Set output = fs.CreateTextFile(filePath, True, True) output.WriteLine ("package com.nauproject.apm.entity.base;") output.WriteLine ("") output.WriteLine ("import java.io.Serializable;") output.WriteLine ("") output.WriteLine ("import org.seasar.dao.annotation.tiger.Bean;") output.WriteLine ("") output.WriteLine ("/**") output.WriteLine (" * <P>") output.WriteLine (" * " + tbNm + " " + classNm + " 僋儔僗") output.WriteLine (" * </P>") output.WriteLine (" * <BLOCKQUOTE> Copyright (C) 2008-2009, apm. All rights reserved. </BLOCKQUOTE>") output.WriteLine (" * <P>") output.WriteLine (" * </P>") output.WriteLine (" * <B>夵斉棜楌:</B> <BLOCKQUOTE> " + ctDate + " 1.0.0 " + ctNm + " 怴婯嶌惉 </BLOCKQUOTE>") output.WriteLine (" *") output.WriteLine (" * @author " + ctNm) output.WriteLine (" * @since " + ctDate) output.WriteLine (" * @see") output.WriteLine (" * @version 1.0, " + ctDate) output.WriteLine (" */") output.WriteLine ("@Bean(table = """ + tbId + """)") output.WriteLine ("public class " + classNm + " implements Serializable {") output.WriteLine ("") output.WriteLine (" /**") output.WriteLine (" * @see serialVersionUID") output.WriteLine (" */") output.WriteLine (" private static final long serialVersionUID = ;") output.WriteLine ("") countC = 0 For i = 8 To 208 If Cells(i, 3).Value <> "" Then countC = countC + 1 End If Next For k = 1 To countC output.WriteLine (" /**") output.WriteLine (" * @see " + Cells(k + 7, 2)) output.WriteLine (" */") output.WriteLine (" private " + Cells(k + 7, 4).Value + " " + Cells(k + 7, 3).Value + ";") output.WriteLine ("") Next For k = 1 To countC If Cells(k + 7, 4).Value = "int" Then paramId = "int" Else If Cells(k + 7, 4).Value = "String" Then paramId = "str" Else If Cells(k + 7, 4).Value = "Date" Then paramId = "date" Else paramId = "" End If End If End If uId = UCase(Mid(Cells(k + 7, 3).Value, 1, 1)) + Mid(Cells(k + 7, 3).Value, 2, Len(Cells(k + 7, 3).Value)) output.WriteLine (" /**") output.WriteLine (" * @param " + paramId + uId + " " + Cells(k + 7, 2)) output.WriteLine (" */") output.WriteLine (" public final void set" + uId + "(final " + Cells(k + 7, 4).Value + " " + paramId + uId + ") {") output.WriteLine (" this." + Cells(k + 7, 3).Value + " = " + paramId + uId + ";") output.WriteLine (" }") output.WriteLine ("") output.WriteLine (" /**") output.WriteLine (" * @return " + Cells(k + 7, 2)) output.WriteLine (" */") output.WriteLine (" public final " + Cells(k + 7, 4).Value + " get" + uId + "() {") output.WriteLine (" return " + Cells(k + 7, 3).Value + ";") output.WriteLine (" }") output.WriteLine ("") Next output.WriteLine ("}") output.Close End Sub
相关文章推荐
- 使用Excel自动生成Java中的Model类
- 使用Hibernate-tools中的hbm2java和hbm2ddl根据hbm文件自动生成pojo和数据库脚本
- eclipse使用ModelGoon插件自动生成java类的UML图
- java使用 freemarker 模板生成一个excel文件多个sheet
- java pageoffice使用,生成导出excel报表
- 使用CXF根据wsdl地址自动生成客户端 (java)
- 使用自动生成java文件和自动编译的动态代理模式
- 发现一段特别好的使用 POI生成Excel文档的 java代码
- 使用POI生成Excel文件,可以自动调整excel列宽
- 使用自动生成java文件和自动编译的动态代理模式
- 什么是静态代码块?java中如何使用空参构造方法自动生成不同名字的对象,使用非静态的属性和静态属性有什么区别,原因是什么?如何理解static关键字
- Java生成excel导出文件(使用poi+JXL)
- 使用JXL生成Excel时发生java.lang.ArrayIndexOutOfBoundsException错误
- 在MyEclipse的web项目/java项目中,使用Hibernate-tools中的hbm2java和hbm2ddl工具,根据hbm文件自动生成pojo和数据库脚本
- 使用java反射优化Spring自动生成的DAO实现类!
- 使用Hibernate-tools中的hbm2java和hbm2ddl根据hbm文件自动生成pojo和数据库脚本
- java笔记之使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件2种方法
- JAVA 使用JXL生成excel
- JAVA中使用freemark生成自定义文(json、excel、yaml、txt)
- java基于jxl.jar包生成Excel文件到指定目录和服务器下载两种模式的使用方法