`
xiaoliang330
  • 浏览: 116018 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

groovy 小应用

    博客分类:
  • web
 
阅读更多
昨天使用groovy脚本生成大量的sql,实在是爽!
   现在把经验贴上,以后可以继续使用。

首先说下我的需求:
    给了一个excel,然后要我提取其中的单元格数据,设置到sql语句中,比如是一条更新语句,

update Table set max_value=?,min_value=? where chart_field='?';
其中 =号后面的? 就是要从excel中提取的数据。 现在给定excel中某行的数据:

chart_field                              description  max_value     xx        xx     min_value
HK4_ALLOW_UPSPWR_KVA    xxxx          50000     NA   NA    0
   
给定了6列的数据,而我要取的就是 1,3,6各列的数据,替代=号后面的?,如果数据量非常庞大,这个时候要程序来控制比你手工的效率就大多了,快捷,爽!

看代码:文件名为xxx.groovy

 
import jxl.*;   

Workbook workbook = Workbook.getWorkbook(new File("field_to_have_max_min.xls"));   //导入同级目录下的excel文档,注意后缀貌似暂时只能是.xls

println 'found sheets in workbook: '
workbook.sheetNames.each{print "\t ${it}"}
println ''


handlePoint(workbook)

def handlePoint(workbook){   //主体方法
	def sheet = workbook.getSheet('field_to_have_max_min');  //field_to_have_max_min 为sheet的名字

	def rows = sheet.getRows();
	def cols = sheet.getColumns();

	println "rows: ${rows}, cols: ${cols}"

	def file = new File('field_to_have_max_min.sql')  //创建导出文件
	file.delete()                                                   

	for(row in 2..<rows){
			def chart_field = sheet.getCell(0,row).getContents()
			def max = sheet.getCell(2,row).getContents()
			def min = sheet.getCell(5,row).getContents()
			if (max=='NA') max = 'null'
			if (min=='NA') min = 'null'
			def sql = "update dashboard_data_def set max_value=${max},min_value=${min} where chart_field='${chart_field}';"
				file << "${sql}\r\n"    //导出sql到导出文件
				
			if (chart_field=='HK4_INSTALL_UPSPWR_Z4C_KVA')
			break;
	}
}





这个就可以实现上面的需求了。

要运行这么一个文件,你得下载groovy并安装,我安装的是groovy-binary-1.8.1.zip中的,解压到本地就ok了,然后在环境变量中建一个叫GROOVY_HOME的系统变量,指定groovy的解压目录,然后在path系统变量中添加%GROOVY_HOME%\bin 到其中,当然别忘了;,然后在命令行就可以查看安装成功了没,比如敲入groovy -version  就可以查看版本了。

要运行前面的文件xxx.groovy, 在命令行进入该文件所在目录,敲入 groovy  xxx.groovy 就可以运行了 ,可以在xxx.groovy 文件所在目录看到生成的.sql文件
分享到:
评论

相关推荐

    Groovy应用(基本操作)

    此外,Groovy编译后的字节码与Java兼容,可以在任何Java应用中运行。 7. **工具集成** Groovy常用于构建工具,如Gradle,它的DSL(领域特定语言)使得构建配置更加易读。此外,Groovy Shell和Groovy Console提供...

    Java调用Groovy,实时动态加载数据库groovy脚本

    本文将详细讲解如何在Java应用程序中调用Groovy脚本,实现从MongoDB数据库中读取并实时运行Groovy脚本,以及其背后的原理和优势。 首先,Groovy是一种与Java高度兼容的脚本语言,它可以无缝地与Java代码集成,共享...

    groovy+spring在web中的应用

    例如,它可能讲解了如何使用Groovy的Gradle构建工具来管理项目,或者展示了如何使用Spring Boot启动和运行一个Groovy应用。 至于压缩包文件名"groovy-web-spring",很可能是包含了一个或多个示例项目,用于演示...

    groovy

    本篇文章将深入探讨Groovy语言的关键特性和应用场景。 一、Groovy简介 Groovy是2003年由James Strachan创建的一种开源语言,它是Java虚拟机(JVM)上的一个方言。Groovy代码可以直接与Java代码互操作,因为它们都被...

    groovy经典_资料

    **Groovy应用示例:** Groovy可以应用于命令行界面(CUI)项目,如Toy Manager,也可以用于构建图形用户界面(GUI)应用,利用SwingBuilder技术。此外,Groovy在Web开发中也有应用,如GSP(Groovy Server Pages)和...

    groovy-all

    总之,“groovy-all-2.4.7.jar”是一个全面的Groovy运行时环境,包含了运行和开发Groovy应用程序所需的所有组件。如果你的项目中使用了Groovy,这个库将提供一个完整的生态系统,帮助你充分利用Groovy的灵活性和效率...

    groovy-2.3.6-installer

    Groovy是一种动态、开源的编程语言,它是Java平台上的一个JVM(Java Virtual Machine)语言。...在Java生态系统中,Groovy作为一门动态语言,被广泛应用于各种场景,如脚本编写、Web开发以及测试等。

    groovy入门经典,groovyeclipse 插件

    这使得在复杂应用中定位问题变得轻松。 总的来说,Groovy提供了一种高效、简洁的编程方式,而GroovyEclipse插件则让Groovy开发在Eclipse中变得顺畅。无论是新手还是经验丰富的开发者,都能通过学习Groovy和使用...

    groovy-sdk-4.0.3

    - **创建独立应用**:Groovy可以用来开发完整的应用程序,利用其动态性可以快速实现复杂逻辑。 - **与Java混合编程**:Groovy可以与Java代码混编,共享相同的类库和API,这在维护现有Java项目或扩展功能时非常有用。...

    groovy-all-2.4.8.jar

    - **Web开发**:Grails是一个基于Groovy的全栈框架,用于快速开发企业级Web应用。 - **领域特定语言(DSL)**:Groovy的简洁语法使其成为创建DSL的理想选择,如构建配置文件、测试框架等。 6. **Groovy与其他技术...

    Groovy Script 入门

    通过本文的介绍,我们了解到Groovy脚本作为一种强大的脚本语言,在Java平台上的应用十分广泛。无论是进行简单的脚本编写还是复杂的项目开发,Groovy都能提供强大的支持。掌握Groovy的基础知识和进阶技巧,对于提升...

    eclipse安装groovy插件的步骤

    ### Eclipse 安装 Groovy 插件的详细步骤与使用指南 #### 一、Groovy 插件的安装 为了能够在 Eclipse 中使用 Groovy 进行开发,首先需要安装 ...希望本文能帮助您更好地理解和掌握 Groovy 在 Eclipse 中的应用技巧。

    apache-groovy-sdk-4.0.1下载

    在这款SDK中,包含了所有你需要开始使用Groovy开发应用的组件。 首先,Apache Groovy SDK的核心组成部分是Groovy解释器和编译器。解释器允许你运行Groovy脚本,而编译器则可以将Groovy代码转换成Java字节码,使得...

    groovy速查手册

    这些特性使得Groovy不仅能够作为脚本语言使用,同时也非常适合于开发大型应用。 #### 二、Groovy与Java的集成 - **跨编译**:通过Groovy的编译器(`groovyc`),Ant任务或者集成开发环境(IDE)的支持,可以将...

    groovy in action.pdf

    本书由Manning Publications出版,全面覆盖了Groovy语言的基础知识、高级特性以及在实际项目中的应用。 ### Groovy简介 Groovy是一种灵活的、面向对象的脚本语言,它运行于Java平台之上,充分利用了Java的生态系统...

    Groovy学习资料

    Spring Boot与Groovy的结合也是常见的应用场景,Groovy的简洁语法使得配置Spring Bean变得简单易懂。 Groovy还广泛应用于持续集成工具Jenkins的脚本编写,通过Jenkinsfile来定义构建流程。此外,Spock是一个用于...

    Groovy入门]第一讲.项目演示与搭建Groovy开发环境

    项目演示通常会涵盖一个具体的应用场景,例如自动化测试、数据处理或Web应用开发,通过实例帮助初学者快速理解Groovy在实际工作中的应用。 接下来,搭建Groovy开发环境是学习过程中的关键步骤。你需要先安装Java ...

    Groovy.in.Action.2nd.Edition.pdf

    9. Groovy在Android开发中的应用:Groovy也可用于Android应用开发,利用GVM(Groovy Version Manager)可以方便地管理Groovy的版本,进而适用于不同的开发环境。 10. 高级特性:书的最后部分还介绍了一些高级特性,...

    Groovy_in_Action Groovy经典入门 使用Grails快速开发Web应用

    Groovy_in_Action.pdf Groovy经典入门.pdf 使用Grails快速开发Web应用.pdf 在Eclipse里使用Grails类创建工具.pdf Programming Groovy. Dynamic Productivity for the Java Developer.pdf等一系列groovy资源

Global site tag (gtag.js) - Google Analytics