导入execl到数据库mysql
GwykhrenyuankuList
<body jwcid="$content$">
<span jwcid="@components/AppBorder" subtitle="需要使用务表"
disableCaching="true"> <!--当前位置--> <!--页面主体-->
<style type="text/css">
.fileInputContainer{
height:29px;
background:url(/cjxb/common/images/btnDrry.png);
position:relative;
width: 85px;
float: right;
}
.fileInput{
height:29px;
width: 85px;
overflow: hidden;
position:absolute;
right:0;
top:0;
opacity: 0;
filter:alpha(opacity=0);
cursor:pointer;
}
</style>
<div jwcid="listData@Any" name="data" id="listData">
<form jwcid="queryForm@Form">
<!--功能区-->
<h2 class="pagetitle">
<span>测评管理</span>
</h2>
<div class="news-list tol">
<h2 class="update">搜索条件
<a jwcid="@DirectLink" listener="ognl:listeners.backList" class="btnUpDate"><img jwcid="@Any"
src="/cjxb/common/images/btnFh.gif" /></a>
</h2>
<!--搜索-->
<div class="news-list tol">
<div class="newForm">
<p class="clearfix">
<span class="spanTitle">姓名:</span>
<input type="text" jwcid='qf_khrenyuanname@TextField' displayName="姓名" class="w150p mr10p" style="width:120px"
value='ognl:queryFilter.fields["qf_khrenyuanname"].value' />
<span class="spanTitle">:</span>
<input jwcid='qf_sijuid_code@PropertySelection' readOnly="readOnly" model="ognl:@com.app.util.GwykhUtils@getGzdwList()" style="width:120px"
displayName="" class="w150p mr10p" value='ognl:queryFilter.fields["qf_sijuid_code"].value' />
<span class="spanTitle"> :</span>
<input jwcid='qf_offices@TextField' displayName="" class="w150p mr10p" value='ognl:queryFilter.fields["qf_offices"].value' style="width:114px"/>
</p>
<p class="clearfix">
<span class="spanTitle">:</span>
<input jwcid='qf_khrenyuanzhiwu@TextField' displayName="名称"
class="w150p mr10p" style="width:120px" value='ognl:queryFilter.fields["qf_khrenyuanzhiwu"].value'/>
<span class="spanTitle">:</span>
<input jwcid='qf_levelNum@dev:PropertySelection' keyType='level' emptyMsg="请选择" displayName=""
style="width: 120px;margin-right: 10px;" value='ognl:queryFilter.fields["qf_levelNum"].value'/>
<span class="spanTitle">状态:</span>
<input jwcid='qf_status@dev:PropertySelection' keyType='rystatus' emptyMsg="请选择" displayName="状态"
style="width: 120px;margin-right: 10px;" value='ognl:queryFilter.fields["qf_status"].value'/>
</p>
<p class="clearfix">
<span class="spanTitle">岗位标志:</span>
<input jwcid='qf_postFlag@dev:PropertySelection' keyType='post' emptyMsg="请选择" displayName="现岗位标志"
style="width: 120px;margin-right: 10px;" value='ognl:queryFilter.fields["qf_postFlag"].value'/>
</p>
</div></div>
<input jwcid="qf_khchengcibiaoid@TextField" value='ognl:queryFilter.fields["qf_khchengcibiaoid"].value' style="display: none;"/>
<h4 class="sign-h4">
<a href="#" jwcid="@LinkSubmit"><img jwcid="@Any"
src="/cjxb/common/images/btnSearch01.gif" /></a>
<a href="#" parameters="ognl:new java.lang.String[]{'add',queryFilter.fields['qf_khchengcibiaoid'].value}"
jwcid="@cofortune:ExternalLink" page="GwykhrenyuankuEdit"><img jwcid="@Any"
src="/cjxb/common/images/zj.gif" /></a>
<a href="javascript:void(0)" onclick="$('#id_sys_del_link').click()" ><img jwcid="@Any"
src="/cjxb/common/images/sc.gif" /></a>
<!-- <a href="#" onclick="javascript:$('#xlsFile').get(0).click();">导入人员</a> -->
</h4>
<!--列表-->
<h2 class="h2-table-title">
<div class="fileInputContainer">
<input type="file" jwcid="xlsFile@Upload" file="ognl:xlsFile" onchange="xlsUpload();" class="fileInput"/>
</div>
<input jwcid="addPeople@Submit" value="" type="submit" listener="ognl:listeners.addPeople" style="display: none;"/>
务列表
</h2>
<table width="100%" border="0" cellspacing="0" cellpadding="0"
class="list-table">
<colgroup>
<col width="4%" />
<col width="12%"/>
<col width="12%"/>
<col width="12%"/>
<col width="12%"/>
<col width="10%"/>
<col width="12%"/>
<col width="14%"/>
<col width="12%" />
</colgroup>
<tr>
<th><input type="checkbox" jwcid="allbox@cofortune:CheckAllBox" /></th>
<th>姓名</th>
<th></th>
<th></th>
<th>现</th>
<th></th>
<th>岗位标志</th>
<th>状态</th>
<th>操作</th>
</tr>
<tfoot>
<tr>
<td colspan="9"><span jwcid="nav">翻页组件</span></td>
</tr>
</tfoot>
<tbody>
<tr class="even" jwcid="foreach">
<td align="center" class="chk"><input type="checkbox" jwcid="rowSelect" groupby="allbox" /></td>
<td align="center"><span jwcid="@Insert"
value="ognl:item.khrenyuanname">名称</span> </td>
<td align="center"><span jwcid="@Insert"
value="ognl:item.sijuid.gzdwValue"></span> </td>
<td align="center"><span jwcid="@Insert"
value="ognl:@com.app.util.GwykhUtils@officesView(item.offices)"></span> </td>
<td align="center"><span jwcid="@Insert"
value="ognl:item.khrenyuanzhiwu"></span> </td>
<td align="center"><span jwcid="@dev:Insert" dicType="level"
value="ognl:item.levelNum"></span> </td>
<td align="center"><span jwcid="@dev:Insert" dicType="post"
value="ognl:item.postFlag">现岗位标志</span> </td>
<td align="center"><span jwcid="@dev:Insert" dicType="rystatus"
value="ognl:item.status">状态</span> </td>
<td align="center">
<a href="#" parameters="ognl:new java.lang.String[]{'edit',item.id}"
jwcid="@cofortune:ExternalLink" page="GwykhrenyuankuEdit">[修改]</a>
<a jwcid="@DirectLink" listener="ognl:listeners.delete"
parameters="ognl:item.id" onclick="return confirm('确定删除?');">[删除]</a>
</td>
</tr>
</tbody>
</table>
</div>
<!--数据列表 end-->
<a jwcid="id_sys_del_link@Submit" listener="ognl:listeners.delete" style="display: none" onclick="return confirm('确定要删除?');" />
</form>
</div>
</span>
<script type="text/javascript">
<!--
function xlsUpload(){
var file = $('#xlsFile').val();
if(file != null && file != "" && file != undefined){
var ext = file.substr(file.lastIndexOf('.'));
if(ext == '.xls'){
$("#addPeople").get(0).click();
}else{
alert("请上传Excel文件(2003格式)");
}
}
}
-->
</script>
</body>
package com.app.pages.gwykh;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jxl.Sheet;
import jxl.Workbook;
import org.apache.commons.lang.StringUtils;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.request.IUploadFile;
import com.app.iface.gwykh.GwykhchengcibiaoIface;
import com.app.iface.gwykh.GwykhdanweiIface;
import com.app.iface.gwykh.GwykhrenyuankuIface;
import com.app.model.Gwykhdanwei;
import com.app.model.Gwykhrenyuanku;
import com.app.model.GwykhGzdw;
import com.app.service.gwykh.GwykhchengcibiaoService;
import com.app.service.gwykh.GwykhdanweiService;
import com.app.service.gwykh.GwykhrenyuankuService;
import com.app.util.GwykhUtils;
import com.cofortune.base.cache.CacheManager;
import com.cofortune.base.factory.ServiceFactory;
import com.cofortune.base.model.BaseDictionary;
import com.cofortune.base.model.BaseObject;
import com.cofortune.base.pages.CieccListPage;
import com.cofortune.framework.query.IPagingAndSorting;
import com.cofortune.framework.query.PagingAndSorting;
import com.cofortune.framework.query.QueryFilter;
/**
* 人员库表列表页面
* @每日一句:旁观者的姓名永远爬不到比赛的计分板上。
* @author 自动生成与2013-10-14 13:17:05 ^_^ GOOD LUCK!!
*/
public abstract class GwykhrenyuankuList extends CieccListPage {
/**
* 初始化分页排序
* 排序注意要加id
*/
public IPagingAndSorting initPagingAndSorting() {
//默认以ID列进行排序,如需指定排序列请按照“dicCode,id”格式添加
PagingAndSorting pagingAndSorting = new PagingAndSorting("sijuid.gzdwCode,postFlag,offices,levelNum,sort",false);
pagingAndSorting.setMaxResults(20);
return pagingAndSorting;
}
/**
* 初始化查询条件
*/
public QueryFilter initQueryFilter() {
QueryFilter qf = new QueryFilter();
qf.addField("qf_khrenyuanname", "khrenyuanname", QueryFilter.OPERATION_LIKE, "");//人员名称
qf.addField("qf_sijuid_code", "sijuid.gzdwCode", QueryFilter.OPERATION_EQ, "");//名称
qf.addField("qf_offices", "offices", QueryFilter.OPERATION_EQ, "");//
qf.addField("qf_khrenyuanzhiwu", "khrenyuanzhiwu", QueryFilter.OPERATION_LIKE, "");//人员
qf.addField("qf_levelNum", "levelNum", QueryFilter.OPERATION_EQ, "");//职级
qf.addField("qf_postFlag", "postFlag", QueryFilter.OPERATION_EQ, "");//现岗位标志
qf.addField("qf_status", "status", QueryFilter.OPERATION_EQ, "");//状态
qf.addField("qf_khchengcibiaoid", "khchengcibiaoid.id", QueryFilter.OPERATION_EQ, "");//层次表ID
return qf;
}
/**
* 得到人员库表服务类
* @author 自动生成与2013-10-14 13:17:05 ^_^ GOOD LUCK!!
* @return
*/
public GwykhrenyuankuIface getGwykhrenyuankuService(){
GwykhrenyuankuIface service = ServiceFactory.getBean(GwykhrenyuankuService.class, GwykhrenyuankuIface.class);
return service;
}
/**
* 得到层次表服务类
* @author 自动生成与2013-10-14 13:17:28 ^_^ GOOD LUCK!!
* @return
*/
public GwykhchengcibiaoIface getGwykhchengcibiaoService(){
GwykhchengcibiaoIface service = ServiceFactory.getBean(GwykhchengcibiaoService.class, GwykhchengcibiaoIface.class);
return service;
}
/**
* 得到测评表服务类
* @author 自动生成与2013-10-14 13:17:15 ^_^ GOOD LUCK!!
* @return
*/
public GwykhdanweiIface getGwykhdanweiService(){
GwykhdanweiIface service = ServiceFactory.getBean(GwykhdanweiService.class, GwykhdanweiIface.class);
return service;
}
/**
* 加载人员库表数据
* @author 自动生成与2013-10-14 13:17:05 ^_^ GOOD LUCK!!
* @return
*/
public void loadData() {
GwykhrenyuankuIface service=getGwykhrenyuankuService();
List<BaseObject> find = service.findGwykhrenyuandaku(getQueryFilter(), getPagingAndSorting());
setItems(find);
}
/**
* 删除人员库表
* @param id
* @author 自动生成与2013-10-14 13:17:05 ^_^ GOOD LUCK!!
* @return
*/
public void delete(String id ){
GwykhrenyuankuIface service=getGwykhrenyuankuService();
if(StringUtils.isBlank(id)){
service.removeGwykhrenyuanku(getSelectedList().toArray(new String[0]));
}else{
service.removeGwykhrenyuanku(id);
}
this.backToListWithParms("GwykhrenyuankuList,S"+System.currentTimeMillis());//带查询分页参数返回
}
public void backList(){
this.backToListWithParms("GwykhchengcibiaoList,S"+System.currentTimeMillis());//带查询分页参数返回
}
public abstract IUploadFile getXlsFile();
public abstract void setXlsFile(IUploadFile xlsFile);
public void addPeople(){
/**接装**/
Map dwMap = new HashMap();
QueryFilter qf = new QueryFilter();
qf.addField("qf_status", "status", QueryFilter.OPERATION_LIKE, "1");
qf.addField("qf_khchengcibiaoid", "khchengcibiaoid", QueryFilter.OPERATION_LIKE, getQueryFilter().getField("qf_khchengcibiaoid").getValue().toString());
List danwei = getGwykhdanweiService().findGwykhdanwei(qf, null);
if(danwei != null && danwei.size() > 0){
for(Object obj : danwei){
dwMap.put(((Gwykhdanwei)obj).getGzdwid().getGzdwCode(), obj);
}
}
IUploadFile xlsFile = getXlsFile();
InputStream is = xlsFile.getStream();
Workbook rwb = null;
List<Gwykhrenyuanku> list = new ArrayList<Gwykhrenyuanku>();
try {
rwb = Workbook.getWorkbook(is);
Sheet rs = rwb.getSheet(0);// 获取第一张Sheet表
int rsRows = rs.getRows();// 获取Sheet表中所包含的总行数
for (int i = 1; i < rsRows; i++) {//**从第二行开始读取数据 这里默认从第2行开始读取
Gwykhrenyuanku ry = new Gwykhrenyuanku();
ry.setKhchengcibiaoid(getGwykhchengcibiaoService().editGwykhchengcibiao(getQueryFilter().getField("qf_khchengcibiaoid").getValue().toString()));
String name = rs.getCell(0, i).getContents();
if(StringUtils.isNotBlank(name)){
ry.setKhrenyuanname(name);
String sijuName = rs.getCell(1, i).getContents();//获得名称
GwykhGzdw gzdw = GwykhUtils.getGzdwByGzdwValue(sijuName);//获得信息
ry.setSijuid(gzdw);
ry.setSijuname(gzdw.getGzdwValue());
ry.setKhdanweiid((Gwykhdanwei)dwMap.get(gzdw.getGzdwCode()));//
String offices = rs.getCell(2, i).getContents();//名
// BaseDictionary dic = CacheManager.getInstance().getBaseDicByName("offices", offices);
// if(dic != null){
// offices = dic.getDicCode();
// }
ry.setOffices(offices);
String zhiwu = rs.getCell(3, i).getContents();//现
// BaseDictionary dic = CacheManager.getInstance().getBaseDicByName("zw", zhiwu);
// if(dic != null){
// zhiwu = dic.getDicCode();
// }
ry.setKhrenyuanzhiwu(zhiwu);
String level = rs.getCell(4, i).getContents();//序号
ry.setLevelNum(level);
String postFlag = rs.getCell(5, i).getContents();//现岗位标志
/** 通过现岗位标志确定状态 */
//1只2测评3无测评
// if(GwykhUtils.POST_NAME_1.contains(postFlag)){
// ry.setStatus(GwykhUtils.STATUS_FLAG_1);
// }else if(GwykhUtils.POST_NAME_2.contains(postFlag)){
// ry.setStatus(GwykhUtils.STATUS_FLAG_2);
// }else
if(GwykhUtils.POST_NAME_3.contains(postFlag)){
ry.setStatus(GwykhUtils.STATUS_FLAG_3);
}else{
ry.setStatus("");
}
BaseDictionary dic = CacheManager.getInstance().getBaseDicByName("post", postFlag);
if(dic != null){
postFlag = dic.getDicCode();
}
ry.setPostFlag(postFlag);
String sort = rs.getCell(6, i).getContents();//排序
if(sort != null && sort != ""){
ry.setSort(Integer.parseInt(sort));
}
ry.setIstongguo("0");
list.add(ry);
}
}
this.getGwykhrenyuankuService().saveOrUpdateGwykhrenyuankuByList(list, getQueryFilter().getField("qf_khchengcibiaoid").getValue().toString());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if(rwb != null){
rwb.close();
}
if(is != null){
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
this.backToListWithParms("GwykhrenyuankuList,S"+System.currentTimeMillis());//带查询分页参数返回
}
//接收参数,需要传递参数在此修改
@Override
public void activateExternalPage(Object[] arg0, IRequestCycle arg1) {
if(arg0!=null){//添加额外参数使用,添加好的参数一定要传入到queryFilter中,不然分页时候出现错误,如下部分
if("list".equals(arg0[0])){
getQueryFilter().getField("qf_khchengcibiaoid").setValue(arg0[1]);
}
}
super.activateExternalPage(arg0, arg1);
}
//搜索区域下拉框
}
导入execl到数据库mysql的更多相关文章
- paip.导入数据英文音标到数据库mysql为空的问题之道解决原理
paip.导入数据英文音标到数据库mysql为空的问题之道解决原理 #---原因:mysql 导入工具的bug #---解决:使用双引号不个音标括起来. 作者 老哇的爪子 Attilax 艾龙, E ...
- paip.将数据导入到在英语语音数据库mysql道路解决空原则问题
paip.将数据导入到在英语语音数据库mysql道路解决空原则问题 #---原因:mysql 导入工具bug #---解决:不要使用双引号括注音. 笔者 老哇爪 Attilax 艾龙. EMAIL: ...
- cpanel导入大数据库(mysql)的方法
phpmyadmin是一件很方便的在线管理MySQL数据库的工具,但对于较大的数据库的导出和导入却很容易出错.特别是导入工作,通常5M已经是它的极限了.这里,主要介绍一下如何通过cPanel导入大型的 ...
- (转)如何将 Excel 文件导入到 Navicat for MySQL 数据库
场景:工作中需要统计一段时间的加班时长,人工统计太过麻烦,就想到使用程序实现来统计 1 如何将 Excel 文件导入到 Navicat for MySQL 数据库 Navicat for MySQL ...
- 用python批量向数据库(MySQL)中导入数据
用python批量向数据库(MySQL)中导入数据 现有数十万条数据,如下的经过打乱处理过的数据进行导入 数据库内部的表格的数据格式如下与下面的表格结构相同 Current database: pyt ...
- 第二百九十节,MySQL数据库-MySQL命令行导出导入数据库,数据库备份还原
MySQL命令行导出导入数据库,数据库备份还原 MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program ...
- Linux 用 shell 脚本 批量 导入 csv 文件 到 mysql 数据库
前提: 每个csv文件第一行为字段名 创建的数据库字段名同csv 文件的字段名 1. 批量导入 多个 csv 文件 for file in ./*.csv;do mv $file tablename. ...
- mysql命令行导出导入,附加数据库
MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server ...
- PHP批量导入excell表格到mysql数据库
PHP批量导入excell表格到mysql数据库,本人通过亲自测试,在这里分享给大家 1,下载 php excell类库 网上搜索可以下载,这里不写地址 2,建html文件 <form met ...
随机推荐
- 【[USACO15FEB]审查(黄金)Censoring (Gold)】
从原来的单串匹配变成了多串匹配 好像也没什么特别不一样的地方 原来的做法是搞一个栈,之后一旦匹配到就往前弹栈 做法也一样 但是在\(AC\)自动机上暴力跳\(fail\)是要\(T\)的 我们并没有必 ...
- Android学习笔记_41_TabHost自定义标签和TraceView性能测试
一.tabhost第一种用法,通过在帧布局放入定义好的page页面来实现,这样导致在当前activity下代码量比较大. 1.页面布局: | | | | ...
- CSU 1023 修路(二分+模拟)
前段时间,某省发生干旱,B山区的居民缺乏生活用水,现在需要从A城市修一条通往B山区的路.假设有A城市通往B山区的路由m条连续的路段组成,现在将这m条路段承包给n个工程队(n ≤ m ≤ 300).为了 ...
- 课时59.体验css(理解)
我们想做这样一个样式,应该怎么做? 分析: 有一个标题(h1),还有一些段落(p) 标题是居中的,段落也是居中的,所以我们可以设置h标签和p标签居的align属性等于center来实现 标题和段落都有 ...
- TCP三次挥手四次握手
三次握手: 客户端发起: 1.向服务器端发送报文SYN=1,ACK=0;客户端进入SYN-SEND状态. 2.服务端收到SYN=1,ACK=0的请求报文,向客户端返回确认报文SYN=1,ACK=1,服 ...
- JS如何给ul下的所有li绑定点击事件,点击使其弹出下标和内容
这是一个非常常见的面试题,出题方式多样,但考察点相同,下面我们来看看这几种方法:方法一: var itemli = document.getElementsByTagName("li&quo ...
- Trie(字典树,前缀树)_模板
Trie Trie,又经常叫前缀树,字典树等等. Trie,又称前缀树或字典树,用于保存关联数组,其中的键通常是字符串.与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定.一个节点的 ...
- 数据分析处理库Pandas——索引进阶
Series结构 筛选数据 指定值 备注:查找出指定数值的索引和数值. 逻辑运算 备注:查找出值大于2的数据. 复合索引 DataFrame结构 显示指定列 筛选显示 备注:值小于0的显示原值,否则显 ...
- mysql根据二进制日志恢复数据/公司事故实战经验
根据二进制日志恢复 目的:恢复数据,根据二进制日志将数据恢复到今天任意时刻 增量恢复,回滚恢复 如果有备份好的数据,将备份好的数据导入新数据库时,会随着产生二进制日志 先准备一台初始化的数据库 mys ...
- 嵌入式Linux系统移植(二)——交叉编译工具集
常用工具:readelf.size.nm.strip.strings.objdump.objcopy.addr2line readelf:读可执行文件的elf头 ELF Header: Magic: ...