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

[b]1:页面:[/b][size=large][/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">
  
<input type="button" οnclick="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>

[b]1:action:[/b][size=large][/size]

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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值