数据写入excel,实现批量上传

1:页面: [/size]
   
     <%@ page language="java" import="java.util.*,java.io.*"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
if (session.getAttribute("admin_info") == null) {
out.println("<html>");
out.println("<script>");
out.println("window.open('" + basePath
+ "asiasys/login.jsp','_top')");
out.println("</script>");
out.println("</html>");
}
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<link href="asiasys/css/admin.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery.js"></script>
<link href="asiasys/css/public.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="asiasys/js/calendar.js"></script>
<script type="text/javascript" src="asiasys/js/ajaxfileupload.js"></script>
<script type="text/javascript" src="asiasys/js/jquery.form.js"></script>



<script type="text/javascript">
   function isvalidatefile()
   {
   var obj = $("#excel").val();
   if(!CheckPic(obj)){
   alert("文件格式不对,请选择xls文件!"); 
   return false;
   } 
   else
   return true;
   }
   function CheckPic(v){
     if(v.indexOf(".")>0){
     var o = v.split(".");
     var e = o[o.length-1].toLowerCase();
     if(e != "xls")
      return false;
     else
      return true;
    }
    else{return true;}
   }
  
   function uploadFile(){
      if(!isvalidatefile())
      {
      return false;
      }
      $("#reloading").show();
      $("#edit_bg").show();
      $("#form1").ajaxSubmit({
      type: "POST",
      success: function(data){
      $("#reloading").hide();
      $("#edit_bg").hide();
      if(data.indexOf("true")!=-1){
      alert("操作成功。");
      }else{
      alert(data);
       alert("操作失败,请联系管理员!");
}
}   //操作成功后的操作
}); 
}

    $(function(){
     $("#reloading").hide();
     $("#edit_bg").hide();
    });
   
   
</script>

</head>
<body>
<div id="tel_position">
<div id="position">
<STRONG>管理导航:</STRONG>
<a href="asiasys/market/list.jsp" target="mainFrame">药材行情管理</a>
<a href="asiasys/market/excelUpload.jsp" target="mainFrame">excel数据上传</a>
</div>
</div>
<br />
<br />
<form name="form1" id="form1" enctype="multipart/form-data"
action="XlsAction!uploadXlsToDB.action" method="post">
<TABLE class=border cellSpacing=1 cellPadding=2 width="100%"
align=center border=0 bgcolor='#FFFFFF'>
<tbody>
<caption style="text-align: center">
上 传 行 情
</caption>
<tr class=tdbg>

<td class='tdbg5'>
文件
</td>
<td>
<input type="file" name="excel" id="excel" size="20">
&nbsp;&nbsp;
<input type="button" onclick="uploadFile();" value="确定"></input>
<div id="reloading">
<img alt="操作进行中..." src="images/zoomloader.gif" />
</div>

</td>
</tr>
</table>
<div class="black_overlay" id="fade"></div>

<div align="center" id="edit_bg"></div>
<br>
</body>
</html>

1:action:[size=large]


     public  String uploadXlsToDB( )
{

Workbook workbook=null;
InputStream inp=null;
boolean isBlankFlag=false;
PrintWriter out = null;
try
  {
  out=response.getWriter();
  inp = new FileInputStream(excel);    
  workbook = Workbook.getWorkbook(inp);//excel文档
  Sheet sheet = workbook.getSheet(0);//excel的sheet
 
  if(sheet.getRows()<=1)
  {
  out.write("true");
  return null;
  }
    for(int i=1;i<sheet.getRows();i++)//sheet.getRows()为excel数据的总行数
    {
      MsMarket msmarket = new MsMarket();
String id = StringUtil.genrateKey();
msmarket.setID(id);
//排除某些空格数据,如果有空格行,停止数据读取
if(i>1&&"".equals(sheet.getCell(0,i).getContents()))
{
out.write("true");
isBlankFlag=true;
break;
}
msmarket.setMarketName(sheet.getCell(0,i).getContents());
msmarket.setMedNname(sheet.getCell(1,i).getContents());
msmarket.setSpecification(sheet.getCell(2,i).getContents());
msmarket.setPrice(sheet.getCell(3,i).getContents());
//数据提供者
msmarket.setAuthor(sheet.getCell(4,i).getContents());
msmarket.setMarkType("2");
//msmarket.setCreatTime(new Date());
msmarket.setCreatTime("".equals(sheet.getCell(5,i).getContents())?new Date():StringUtil.getDate(sheet.getCell(5,i).getContents()));
msmarket.setIsIndex("".equals(sheet.getCell(6,i).getContents())?0:Integer.parseInt(sheet.getCell(6,i).getContents()));
msmarket.setIsChannel("".equals(sheet.getCell(7,i).getContents())?0:Integer.parseInt(sheet.getCell(7,i).getContents()));
msmarket.setIsTOP("".equals(sheet.getCell(8,i).getContents())?0:Integer.parseInt(sheet.getCell(8,i).getContents()));
msmarket.setKeyWord(sheet.getCell(9,i).getContents());
//点击率
//msmarket.setIsNUM(Integer.parseInt(sheet.getCell(9,i).getContents()));
//录入者
msmarket.setAddUser(sheet.getCell(10,i).getContents());
msmarket.setNote(sheet.getCell(11,i).getContents());
//是否可用
msmarket.setStatus(1);
SysUsers sessionInfo = (SysUsers) session .get(UserAction.Admin_INFO);
if (sessionInfo != null)
msmarket.setAddUser(sessionInfo.getName());

//添加索引
if (marketService.addMarket(msmarket)){
MsMarket_View market_View = new MsMarket_View();
market_View.setID(id);
market_View.setMarketName(msmarket.getMarketName());
market_View.setMedNname(msmarket.getMedNname());
market_View.setSpecification(msmarket.getSpecification());
market_View.setPrice(msmarket.getPrice());
market_View.setCreatTime(msmarket.getCreatTime());
market_View.setAddUser(msmarket.getAddUser());
market_View.setAuthor(msmarket.getAuthor());
market_View.setKeyWord(msmarket.getKeyWord());
market_View.setStatus(msmarket.getStatus());
market_View.setMarkType("2");
market_View.setStatus(1);
if(compassService.insertMarket_View(market_View))
{
System.out.println("索引更新成功");
}
}
    }
    if(!isBlankFlag)
    {
    out.write("true");
    }
  }
  catch(Exception e)
  {
  e.printStackTrace();
  logger.info("添加市场"+e);
  out.write(e.getMessage());
  }
  finally
  {
  workbook.close();
    try
    {
    inp.close();
    }
    catch(IOException e)
    {
    e.printStackTrace();
    }
  }
return null;
}

猜你喜欢

转载自wawa129.iteye.com/blog/1488253
今日推荐