`
dtt3401885
  • 浏览: 17071 次
文章分类
社区版块
存档分类
最新评论

grails 批量导入excel文件

 
阅读更多
def serverimport={
render(view: "server_import")
}
def server_import ={def loginUser = UtilsController.getLoginUser(session)//取得登录人

if(loginUser){
def ufile = FileUploadUtil.upload(request, "batchfile")//上传文件。写好的java类直接引用
def out = 0
def j = 0
def failDevice = ''
if(ufile.state){
try{
def wb = Workbook.getWorkbook(ufile.file)
def sheet = wb.getSheet(0)
def rows = sheet.getRows()

for (int i = 1; i < rows; i++){
def serverfaults=new ServerFaults()
def cell = sheet.getRow(i)
if(cell[0].getContents()!=null&&cell[0].getContents()!=""){
def report1=cell[0].getContents()

def report2=U.findByUserRealName(report1)//把传入的姓名字符串转换为自己需要的类型
serverfaults.reporter=report2
serverfaults.type=cell[1].getContents()
serverfaults.describe=cell[2].getContents()
serverfaults.record=cell[3].getContents()
serverfaults.satus=cell[4].getContents()

serverfaults.createtime=new SimpleDateFormat("yyyy/MM/dd").parse(cell[5].getContents())//转换日期格式

serverfaults.save()

}


}

wb.close()
flash.message ="\u4E0A\u4F20\u6210\u529F\uFF01"
render(view: "server_import")
}catch(Exception e){
e.printStackTrace()
}
}else{
flash.message ="\u8BF7\u9009\u62E9\u6587\u4EF6\u4E0A\u4F20\uFF01"
render(view: "server_import")
return
}
}else{
flash.message ="\u4F60\u7684\u767B\u5F55\u5DF2\u7ECF\u8D85\u65F6,\u8BF7\u91CD\u65B0\u767B\u5F55\u540E\u518D\u64CD\u4F5C\uFF01"
render(view: "server_import")
}
}



java类
package com.detao.dtma.utils;

import java.awt.image.BufferedImage;
import java.io.File;
import java.util.ArrayList;
import java.util.List;

import javax.imageio.ImageIO;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;

import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;

public class FileUploadUtil {

public static void writeScaledImage(UFile ufile, ServletContext servletContext,
int width, int height) throws Exception {
BufferedImage scaledImage = ImageUtils.scaleImage(ufile.file, width,
height);
File des = new File(servletContext.getRealPath(ufile.path.substring(0,
ufile.path.lastIndexOf("/"))), ufile.file.getName() + "_" + width + "x"
+ height + ".jpg");
ImageIO.write(scaledImage, "jpeg", des);
}

public static void writeScaledImage(UFile ufile, ServletContext servletContext,
int[] width, int[] height) throws Exception {
if (width == null || height == null) {
return;
}
int length = width.length > height.length ? height.length
: width.length;
for (int i = 0; i < length; i++) {
writeScaledImage(ufile, servletContext, width[i], height[i]);
}
}

/**
* @param request
* @param location
* @param name
* @return
* @throws Exception
*/
public static UFile upload(HttpServletRequest request, String location,
String name) throws Exception {
return upload(request, name, location, null, 100 * 1024 * 1024);
}

/**
* ${contextPath}/upload/location
*
* @param request
* @param location
* @param name
* @return
* @throws Exception
*/
public static UFile uploadImages(HttpServletRequest request,
String location, String name) throws Exception {
String limitedExt = "jpg,jpeg,png,gif,bmp,JPG,JPEG,GIF,PNG,BMP,Jpg,Jpeg,Png,Gif,Bmp";
List<String> allowedExtensions = new ArrayList<String>();
if (!"".equals(limitedExt)) {
String[] extensions = limitedExt.split(",");
for (String ext : extensions) {
allowedExtensions.add(ext);
}
}
return upload(request, name, location, allowedExtensions, 4 * 1024);
}

/**
* ${contextPath}/upload
*
* @param request
* @param name
* @return
* @throws Exception
*/
public static UFile upload(HttpServletRequest request, String name)
throws Exception {
return upload(request, name, null, null, 100 * 1024 * 1024);
}

/**
*
* @param request
* @param name
* @return
* @throws Exception
*/
public static UFile uploadHeadPhoto(HttpServletRequest request,
String location, String name) throws Exception {
String limitedExt = Configuration
.getProperty("image.allowed.extension");
List<String> allowedExtensions = new ArrayList<String>();
if (!"".equals(limitedExt)) {
String[] extensions = limitedExt.split(",");
for (String ext : extensions) {
allowedExtensions.add(ext);
}
}
long maxSize = Configuration.getLongProperty("image.maxsize", 2048);
return upload(request, name, location, allowedExtensions, maxSize);
}

public static UFile[] upload(HttpServletRequest request, String[] names,
String[] dirs, List<List<String>> allowedExtensions, long[] maxSizes)
throws Exception {
UFile[] ufiles = new UFile[names.length];
for (int i = 0; i < ufiles.length; i++) {
ufiles[i] = upload(request, names[i], dirs[i],
allowedExtensions.get(i), maxSizes[i]);
}
return ufiles;
}

/**
* @param request
* @param name
*            name
* @param location
*
* @param allowedExtensions
*
* @param maxSize
*            maxSize
* @return
* @throws Exception
*/
public static UFile upload(HttpServletRequest request, String name,
String location, List<String> allowedExtensions, long maxSize)
throws Exception {
UFile ufile = new UFile();
ufile.state = false;
if (request instanceof MultipartHttpServletRequest) {
MultipartHttpServletRequest req = (MultipartHttpServletRequest) request;
MultipartFile file = req.getFile(name);
String fileExtension = null;
if (!file.isEmpty()) {
fileExtension = file
.getOriginalFilename()
.substring(
file.getOriginalFilename().lastIndexOf('.') + 1)
.toLowerCase();
if (allowedExtensions != null && !allowedExtensions.isEmpty()
&& !allowedExtensions.contains("*")) {
if (file.getOriginalFilename().lastIndexOf(".") < 0) {
ufile.msg = "文件格式错误";
return ufile;
}
if (!allowedExtensions.contains(fileExtension)) {
ufile.msg = "文件格式错误 [" + fileExtension + "],请上传 "
+ allowedExtensions + " 格式的文件";
return ufile;
}
}
if (file.getSize() > maxSize * 1024 || file.getSize() == 0) {
ufile.msg = "请上传小于 [" + maxSize + "] KB 的文件";
return ufile;
}

String dirStr = "/upload";

location = location == null ? "" : location.trim();
if (!"".equals(location)) {
dirStr = location.startsWith("/") ? location : "/"
+ location;
}

String dir = request.getSession().getServletContext()
.getRealPath(dirStr);

if (!new File(dir).exists()) {
if (!new File(dir).mkdirs()) {
ufile.msg = "创建目录失败!";
return ufile;
}
}
File des = new File(dir, StringUtils.randomString() + "."
+ fileExtension);

file.transferTo(des);
ufile.state = true;
ufile.name = file.getOriginalFilename();
ufile.path = dirStr + "/" + des.getName();
ufile.msg = "文件上传成功";
ufile.file = des;

return ufile;
} else {
ufile.msg = "文件不能为空,请重新选择文件上传";
return ufile;
}
} else {
ufile.msg = "the form'enctype is not multipart/form-data !!!";
return ufile;
}
}
}
分享到:
评论

相关推荐

    grails_API_文档

    grails_API_文档,CHM格式 ,内容详细.

    Grails Grails Grails

    Grails Grails Grails Grails Grails

    Grails1.1中文文档

    当今的Java Web开发技术显得过于复杂,相对于它本身的需要来说。现在主流的Java Web框架也是异常复杂,而且没有很好的遵循 Don't Repeat ...本文档将带你从Grails入门开始,最终能够使用Grails框架建设Web应用程序。

    Grails1.1中文文档(CHM)

    Grails1.1最新 中文 文档 当今的Java Web开发技术显得过于复杂,相对于它本身的需要来说。现在主流的Java Web框架也是异常复杂,而且没有很好的遵循 Don't Repeat Yourself (DRY) 法则。 因此我们要以一种新的思维...

    grails 中文文档+grails-fckeditor-0.9.5.zip插件

    grails 中文文档+grails-fckeditor-0.9.5.zip插件

    grails 开发文档 合辑

    Apress.Beginning.Groovy.and.Grails.From.Novice.to.Professional.Jun.2008 grails_programming Grails1.1中文文档-----2009.3.25 Grails入门指南(第二版) Groovy经典入门 Programming Groovy 2 合集,超实惠哦

    GRails 中文帮助文档(参考手册)和安装开发介绍帮助

    如今的Java Web开发对于需求来说已经变得过于复杂。当今众多Java领域的Web开发框架不仅使用复杂,而且并没有很好的遵循Don’t Repeat Yourself(DRY)原则...这篇文档会向你介绍如何使用Grails框架来搭建Web应用程序。

    grails中文文档

    比较详细的grails中文文档,有所有命令行解释,还有grails的一个完整的学习过程的资料

    Grails+ZK文档

    Grails+ZK文档,Grails+ZK文档,Grails+ZK文档,Grails+ZK文档

    Grails中文文档

    对于学习Groovy开发的新手很有帮助的Grails中文文档

    Grails权威指南 Grails权威指南

    Grails权威指南Grails权威指南Grails权威指南Grails权威指南Grails权威指南Grails权威指南

    Grails入门指南 -- 针对grails1.0.4更新

    Grails入门指南中文pdf -- 针对grails1.0.4更新,附加idea8 开发grails的流程

    Grails帮助文档

    Grails帮助文档,各种标签的用法,控制器,datasource的用法等!

    grails 文档

    grails 的基础笔记 有基本命令 xml解析 Httpbuilder RESTClient XmlSlurper XStream Quartz的基本用法

    Grails中文参考手册

    Grails 中文 参考手册

    Eclipse下搭建Grails项目

    Grails项目的应用越来越多,而对于初学者来说,在Eclipse下搭建Grails项目是一个难题,这个文档将教会你如何搭建Grails项目,希望对你有所帮助。

    Grails1.1中文文档.rar

    Grails是个一栈式开发框架,它尝试通过核心技术和插件技术来解决许多Web开发难题

Global site tag (gtag.js) - Google Analytics