社区
Web 开发
帖子详情
struts环境下,从Jsp页面上导入excel文件,保存到数据库之中
liqiang208
2008-05-11 11:30:37
导入的量也不是很大,就是三千多条。
问题是每一条数据都会进行有效性检查(跟数据库里的数据匹配),如果其中一条数据有错,则全部rollback。
所以效率很低。
大家有没有好的解决办法?
谢了
...全文
805
12
打赏
收藏
struts环境下,从Jsp页面上导入excel文件,保存到数据库之中
导入的量也不是很大,就是三千多条。 问题是每一条数据都会进行有效性检查(跟数据库里的数据匹配),如果其中一条数据有错,则全部rollback。 所以效率很低。 大家有没有好的解决办法? 谢了
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yanzhiyong1234
2010-12-31
打赏
举报
回复
最好是把数据库中的数据建成索引文件,然后用EXCEL中的数据到索引文件里去匹配,这样效率会好些。
liqiang208
2008-05-26
打赏
举报
回复
顶
看来第一个办法比较合适一些
shuai45
2008-05-26
打赏
举报
回复
导入excel目前都有现成的,先下载poi的包,网上有很多方法.
yaray
2008-05-12
打赏
举报
回复
1. 将客户端Excel文件上传到服务器,临时保存下来;
2. 查询数据库(以满足数据有效性检查,数据封装后待用),关闭该数据库连接(节约数据库连接资源:及时释放连接)
3. 分析Excel文件,并使用查询获得的封装数据进行有效性检查:
存在非法数据则删除临时文件,返回并提示数据非法
4. 全部数据合法时,获得数据库连接并将数据批量保存到数据,最后提交;中间有异常则回滚;
5. 最后删除临时文件
我是一个测试鸡
2008-05-12
打赏
举报
回复
路过,关注中
老紫竹
2008-05-12
打赏
举报
回复
问题是每一条数据都会进行有效性检查(跟数据库里的数据匹配),如果其中一条数据有错,则全部rollback。
解决方法有2个
1 把要匹配的数据提前读取到内存,用Map保存,匹配时就不必每次都读取数据库了
2 把所有数据全部放到数据库,在数据库里面用SQL语句进行校订,这个不难吧。 left join 的时候,会出现不匹配的为null的就是非法的数据
panxuan
2008-05-12
打赏
举报
回复
[Quote=引用 1 楼 gerenmajia 的回复:]
// 获取excel 文件
Form fm = (Form) actionForm;
FormFile formfile = fm.getUploadfile();
InputStream inputstream = formfile.getInputStream();
fm.clear();// 清空
InputStream is = new FileInputStream(fileName);
if (is != null && is.available() != 0) {
Workbook workBook = Workbook.getWorkbook(is);
Sheet[] sheetS = workBook.getSheets();
if (sheetS != null && sheetS.lengt…
[/Quote]
limon758
2008-05-12
打赏
举报
回复
每次把正确的记录保存到容器里
等出现错误rollback后,先去搜索容器,把容易的对的取出,再按照容器条数的下条开始继续取值
chenhongxin
2008-05-12
打赏
举报
回复
excel文件以附件形式上传到服务器
通过odbc(当时是win32环境),连接并读取数据从excel文件
通过上面得到的结果集,与数据库交互,执行校验
校验通过,结果集保存到数据库中
liqiang208
2008-05-11
打赏
举报
回复
请问在内存中操作可以吗?
省略去“上传”的步骤
椅子
2008-05-11
打赏
举报
回复
相同的功能,我是这么处理的:
excel文件以附件形式上传到服务器
通过odbc(当时是win32环境),连接并读取数据从excel文件
通过上面得到的结果集,与数据库交互,执行校验
校验通过,结果集保存到数据库中
gerenmajia
2008-05-11
打赏
举报
回复
// 获取excel 文件
Form fm = (Form) actionForm;
FormFile formfile = fm.getUploadfile();
InputStream inputstream = formfile.getInputStream();
fm.clear();// 清空
InputStream is = new FileInputStream(fileName);
if (is != null && is.available() != 0) {
Workbook workBook = Workbook.getWorkbook(is);
Sheet[] sheetS = workBook.getSheets();
if (sheetS != null && sheetS.length != 0) {
int sheetLen = sheetS.length;
for (int i = 0; i < sheetLen; i++) {
// 当前sheet的行数
int rowLens = sheetS[i].getRows();
// 当前sheet的最大列数
int colLens = sheetS[i].getColumns();
int beginRow = skipRowNumber;
int beginCol = skipColNumber;
String cellValue = null;
String[] rowArray = null;
if (rowLens - beginRow > 0 && colLens - beginCol > 0) {
for (int row = beginRow; row < rowLens; row++) {
rowArray = new String[colLens - beginCol];
for (int col = beginCol; col < colLens; col++) {
Cell cell = sheetS[i].getCell(col, row);
if (cell != null) {
cellValue = cell.getContents();
}
rowArray[col] = cellValue;
}
}
recorderList.add(rowArray);
}
}
}
}
workBook.close();
}
is.close();
<html>
<html:form action="/Action.do?method=getUpload" method="POST" enctype="multipart/form-data">
<html:file property="uploadfile" size="80%" />
<input type="button" value="导 入" onclick="upload(this.form)" class="buttonGray">
</html:form>
</html>
移动商务短信平台
2.支持通过
Excel
文件
、文本
文件
批量
导入
导出发送数据; 3.内置4000万条用户数据,用户可通过条件筛选合适的号码进行发送,也可以批量
导入
号码发送; 4.支持多用户使用,自动充值,充多少发多少;方便发展代理商 5....
SSHJAR包part02
SSHJAR包part02包含了多个Java开发中常用的库
文件
,这些库主要涉及Spring、
Struts
和Hibernate等技术,这些都是Java企业级应用开发中的核心框架。下面将详细讲解这些库的功能和它们在Java开发中的作用。 1. **xerces...
基于SSH2图书管理系统升级版(源码+运行截图+演示视频).zip
基于SSH2图书管理系统升级版(源码+运行截图+演示视频).zip 一、内容概要:程序测试软件: MyEclipse8.5
数据库
:...3
导入
项目,运行项目,这是一个前后端不分离的项目,前端采用JSP,将项目放在Tomcat容器中即可运行
java项目之hrm人事管理项目(java毕业设计)
2、后台:
Struts
2、动态代理、Mybatis框架、log4J日志框架、jstl 、jstl自定义分页标签、代码机器人、Dwr、POI(实现
Excel
文件
的
导入
导出)等 3、
数据库
:Mysql 4、服务器:Tomcat 项目中涉及的功能: 1、项目以及...
Java中上传
excel
文件
并在服务器端读取存入
数据库
传
excel
文件
并在服务器端读取存入
数据库
博客分类:
struts
2
Excel
JSPXML工作 Java代码 页面jsp
文件
"add" action="/gxtWeb/lvjcontacts/manyContacts.action" method="post" enctype="multipart/form-...
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章