xls文件可以直接插入数据库的,写个脚本就可以了,以前做保险项目的时候,总做这个,不过当时的脚本是别人写的,你可以去oracle技术区发个帖。
解决方案 »
- 如何获得上传图片的id值?
- 读取URL地址
- 让程序访问网站遇到问题,请教各位大侠!
- 一个java bean的 小问题 高手给我看下谢谢
- jboss-eap-5.1下部署应用时Jar包冲突的解决方案
- 大家有没有听说kinghouse的内存,pc133的能卖多少?(二手)
- 关于登陆验证:equals的用法!
- 页面转向的中文问题
- "JspIxTutorial.jsp": org.apache.jasper.JasperException: No such tag in the tag library imported with prefix ix
- 面向对象中bean的不足
- 连接数据库问题
- 总报404错误,求大手帮解决
不是我们自己到入 是客户那边他们导入 得写这么一个功能
把xls整个上传到Server,然后在Server端用脚本执行,两个功能都有了。返回执行错误,用AJAX。
xls最大行数65536
一个XLS文件最大行数65535行还是65536行,我不知道你这个XLS是怎么样的。
如果按你所述有那么大,如果是我做的话我会用多线程。
比如:一个线程从1-10000,第N个线程处理(N-1)*10000+1 ~ N*10000的数据,
插入过程中有异常,把错误信息存入某张数据库表,
用户前端可以用AJAX轮训这张数据表的信息。
xls最大行数65536
一个XLS文件最大行数65535行还是65536行,我不知道你这个XLS是怎么样的。
如果按你所述有那么大,如果是我做的话我会用多线程。
比如:一个线程从1-10000,第N个线程处理(N-1)*10000+1 ~ N*10000的数据,
插入过程中有异常,把错误信息存入某张数据库表,
用户前端可以用AJAX轮训这张数据表的信息。
先不纠结这个xls最大值的问题 我们组长给我个需求就是一个表格文件 里面有一百万条数据,你现在要做的就是上传服务器解析 然后插入数据库 昨天自己手动造了一万条数据 之前没有写过类似的解析表格的 用的poi文件大概是1M 直接java内存爆了 我现在的思路是这样的 为了防止内存爆掉 切分文件 然后线 用多程去读取,就是有没有更好的解决方式。谢谢
批量插入百万行数据,我个人认为程序上不是瓶颈,瓶颈是数据库。像楼上说的多线程,只不过是解决了表面现象,数据库该堵的还得堵,真要这样做了,效率上不会有什么提升的。
不做任何检查的插入百万行数据,就需要不少耗时了,更何况楼主还要求每条数据插入前做数据检查是否已存在。个人感觉楼主的要求不可能兼顾,如果要尽量快速导入,SQL SERVER 可以使用BCP导入。
如果表结构上有唯一性约束,BCP是会保证的。
但是还要求实时返回错误信息,这个真心没想好怎么弄。
xls最大行数65536
一个XLS文件最大行数65535行还是65536行,我不知道你这个XLS是怎么样的。
如果按你所述有那么大,如果是我做的话我会用多线程。
比如:一个线程从1-10000,第N个线程处理(N-1)*10000+1 ~ N*10000的数据,
插入过程中有异常,把错误信息存入某张数据库表,
用户前端可以用AJAX轮训这张数据表的信息。
先不纠结这个xls最大值的问题 我们组长给我个需求就是一个表格文件 里面有一百万条数据,你现在要做的就是上传服务器解析 然后插入数据库 昨天自己手动造了一万条数据 之前没有写过类似的解析表格的 用的poi文件大概是1M 直接java内存爆了 我现在的思路是这样的 为了防止内存爆掉 切分文件 然后线 用多程去读取,就是有没有更好的解决方式。谢谢压缩XLS文件 =》 到服务器 =》 解压 =》 分块 =》 插入
1、1个线程读取xls放入队列;
2、N个线程从队列读取数据,并插入数据库;
3、批量提交用上,1000个一批;100万数据大概5分钟左右。