导入execl到数据库mysql

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: GwykhrenyuankuList     .fileInputContainer{ height:29px; background:url(/cjxb/common/images/btnDrry.

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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</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>&nbsp;</td>
<td align="center"><span jwcid="@Insert"
value="ognl:item.sijuid.gzdwValue"></span>&nbsp;</td>
<td align="center"><span jwcid="@Insert"
value="ognl:@com.app.util.GwykhUtils@officesView(item.offices)"></span>&nbsp;</td>
<td align="center"><span jwcid="@Insert"
value="ognl:item.khrenyuanzhiwu"></span>&nbsp;</td>
<td align="center"><span jwcid="@dev:Insert" dicType="level"
value="ognl:item.levelNum"></span>&nbsp;</td>
<td align="center"><span jwcid="@dev:Insert" dicType="post"
value="ognl:item.postFlag">现岗位标志</span>&nbsp;</td>
<td align="center"><span jwcid="@dev:Insert" dicType="rystatus"
value="ognl:item.status">状态</span>&nbsp;</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);
}

//搜索区域下拉框







}

未来星开发团队--狒狒 QQ:9715234
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
关系型数据库 MySQL 数据库连接
docker拉取MySQL后数据库连接失败解决方案
通过以上方法,可以解决Docker中拉取MySQL镜像后数据库连接失败的常见问题。关键步骤包括确保容器正确启动、配置正确的环境变量、合理设置网络和权限,以及检查主机防火墙设置等。通过逐步排查,可以快速定位并解决连接问题,确保MySQL服务的正常使用。
95 82
|
4天前
|
消息中间件 缓存 NoSQL
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
|
9天前
|
SQL 关系型数据库 MySQL
MySQL生产环境迁移至YashanDB数据库深度体验
这篇文章是作者将 MySQL 生产环境迁移至 YashanDB 数据库的深度体验。介绍了 YashanDB 迁移平台 YMP 的产品相关信息、安装步骤、迁移中遇到的各种兼容问题及解决方案,最后总结了迁移体验,包括工具部署和操作特点,也指出功能有优化空间及暂不支持的部分,期待其不断优化。
|
21天前
|
监控 关系型数据库 MySQL
云数据库:从零到一,构建高可用MySQL集群
在互联网时代,数据成为企业核心资产,传统单机数据库难以满足高并发、高可用需求。云数据库通过弹性扩展、分布式架构等优势解决了这些问题,但也面临数据安全和性能优化挑战。本文介绍了如何从零开始构建高可用MySQL集群,涵盖选择云服务提供商、创建实例、配置高可用架构、数据备份恢复及性能优化等内容,并通过电商平台案例展示了具体应用。
|
1月前
|
SQL 关系型数据库 MySQL
数据库数据恢复——MySQL简介和数据恢复案例
MySQL数据库数据恢复环境&故障: 本地服务器,安装的windows server操作系统。 操作系统上部署MySQL单实例,引擎类型为innodb,表空间类型为独立表空间。该MySQL数据库没有备份,未开启binlog。 人为误操作,在用Delete命令删除数据时未添加where子句进行筛选导致全表数据被删除,删除后未对该表进行任何操作。
|
27天前
|
存储 关系型数据库 分布式数据库
PolarDB开源数据库进阶课18 通过pg_bulkload适配pfs实现批量导入提速
本文介绍了如何修改 `pg_bulkload` 工具以适配 PolarDB 的 PFS(Polar File System),从而加速批量导入数据。实验环境依赖于 Docker 容器中的 loop 设备模拟共享存储。通过对 `writer_direct.c` 文件的修改,替换了一些标准文件操作接口为 PFS 对应接口,实现了对 PolarDB 15 版本的支持。测试结果显示,使用 `pg_bulkload` 导入 1000 万条数据的速度是 COPY 命令的三倍多。此外,文章还提供了详细的步骤和代码示例,帮助读者理解和实践这一过程。
43 0
|
2月前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
1月前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
186 42
|
1月前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
146 25
|
2月前
|
缓存 关系型数据库 MySQL
【深入了解MySQL】优化查询性能与数据库设计的深度总结
本文详细介绍了MySQL查询优化和数据库设计技巧,涵盖基础优化、高级技巧及性能监控。
546 0