社区
JavaScript
帖子详情
求解决方案
lavender1019
2009-12-28 11:28:10
目前我有一批数据需要从客户端的Excel文件中导入,并且对数据中的某一行进行逻辑校验和重复校验(同个文档中是否有相同数据),然后将校验结果在页面中显示,并将有错误的列在前面。数据量在10000条左右。我曾尝试开发过一个,但是当数据大于400条就会造成页面卡死,没反应。
有没有比较好的方法解决,由于放在互联网上,速度也不能太慢。
...全文
111
4
打赏
收藏
求解决方案
目前我有一批数据需要从客户端的Excel文件中导入,并且对数据中的某一行进行逻辑校验和重复校验(同个文档中是否有相同数据),然后将校验结果在页面中显示,并将有错误的列在前面。数据量在10000条左右。我曾尝试开发过一个,但是当数据大于400条就会造成页面卡死,没反应。 有没有比较好的方法解决,由于放在互联网上,速度也不能太慢。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaojing7
2009-12-28
打赏
举报
回复
10000数据,如果采用页面级DOM操作,想不死也难。
直接数据库中操作吧
千游
2009-12-28
打赏
举报
回复
我用的这个,可以用,但是没有经过大量数据测试:
public List uploadExcel(String filePath) {
List<String> list = new ArrayList<String>();
try {
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(
filePath));//将得到的文件放到HSSFWorkbook
HSSFSheet sheet = workbook.getSheetAt(0);// 在Excel文档中,第一张工作表的缺省索引是0
int rows = sheet.getPhysicalNumberOfRows();// 获取到Excel文件中的所有行数
// 遍历列
for (int i = 1; i < rows; i++) {
// 读取左上端单元格
HSSFRow row = sheet.getRow(i);//得到行数
String value = "";
// int cells = row.getPhysicalNumberOfCells();// 获取到Excel文件中的所有的列
int cells = sheet.getRow(i).getLastCellNum();
// System.out.println("第"+i+"行:"+sheet.getRow(i).getLastCellNum());
int ce = row.getLastCellNum();
if (row != null) {// 行不为空
// 遍历列
for (int j = 0; j < row.getLastCellNum(); j++) {//Resource.xls每行具有八列
HSSFCell cell = row.getCell((short) j);// 获取到列的值
if (cell != null) {
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_FORMULA:
break;
case HSSFCell.CELL_TYPE_NUMERIC:// 判断是否为数字
value += cell.getNumericCellValue() + ";";
break;
case HSSFCell.CELL_TYPE_BLANK: // 判断是否为空格,若为空格,则用&代替
value += "&" + ";";
break;
case HSSFCell.CELL_TYPE_STRING:// 判断是否为字符串
value += cell.getStringCellValue() + ";";
break;
case HSSFCell.CELL_TYPE_BOOLEAN:
break;
case HSSFCell.CELL_TYPE_ERROR:
break;
default:
break;
}
}else{
continue;
}
}
}
StringBuffer sb = new StringBuffer();
for(int m=0;m<row.getLastCellNum();m++){
sb.append("&;");
}
if (!value.equals(sb.toString())) {// 若一行为空格,则不加入list集合中
list.add(value);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
xiyunfang
2009-12-28
打赏
举报
回复
不懂这个,帮顶
结构之法算法之道blog最新博文集锦第6期CHM文件
通过对算法运行过程的分析,我们可以预测算法在大数据量下的表现,从而选择更适合的
解决方案
。 3. **排序与查找**:常见的排序算法如冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等,以及查找算法如...
openwrt 编译出错
求
解决方案
新手入门openwrt 编译出错
求
解决方案
Configuring kmod-sched-cake. Configuring kmod-ifb. Configuring iptables-mod-conntrack-extra. Configuring sqm-scripts. Configuring ip6tables. Configuring bird1-ipv4-...
AxureRP8 一直报错,各种报错
求
解决方案
打开网页浏览报错, 保存报错,打开其它页面也报错 就连拖拉图片都报错甚是无语!
求
解决方案
~~~~~~~~~
PVE下安装黑群晖,不小心误删了黑群晖虚拟机,导致数据全部丢失,
求
解决方案
。
PVE下安装黑群晖,不小心删除,数据全部丢失,
求
解决方案
。
后台向前台消息推送
求
解决方案
要
求
:当数据库中的数据发生变化时,需要主动将状态通知到前端,不希望使用定时异步刷新,请问各位高手有什么
解决方案
没有
JavaScript
87,992
社区成员
224,698
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章