社区
JavaScript
帖子详情
求解决方案
lavender1019
2009-12-28 11:28:10
目前我有一批数据需要从客户端的Excel文件中导入,并且对数据中的某一行进行逻辑校验和重复校验(同个文档中是否有相同数据),然后将校验结果在页面中显示,并将有错误的列在前面。数据量在10000条左右。我曾尝试开发过一个,但是当数据大于400条就会造成页面卡死,没反应。
有没有比较好的方法解决,由于放在互联网上,速度也不能太慢。
...全文
91
4
打赏
收藏
求解决方案
目前我有一批数据需要从客户端的Excel文件中导入,并且对数据中的某一行进行逻辑校验和重复校验(同个文档中是否有相同数据),然后将校验结果在页面中显示,并将有错误的列在前面。数据量在10000条左右。我曾尝试开发过一个,但是当数据大于400条就会造成页面卡死,没反应。 有没有比较好的方法解决,由于放在互联网上,速度也不能太慢。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
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
打赏
举报
回复
不懂这个,帮顶
相关推荐
欧拉公式
求
圆周率的matlab代码-HackerRankSolutions:用于Hackerrank挑战的C#
解决方案
欧拉公式
求
长期率的matlab代码挑战
解决方案
这些是我的
解决方案
,可能不是最佳
解决方案
。 随时提出改进建议。 如果发现有用的内容,请给仓库加上一个星号。 这是C#
解决方案
的列表。
C语言链表怎么合并同类项,
求
一个关于合并同类项的编程
求
一个关于合并同类项的编程全并同类项的程序,谢谢搜索更多相关的
解决方案
:同类项----------------
解决方案
--------------------------------------------------------...................[color=white]----------------
解决方案
---------------------------------...
欧几里得算法
求
最大公约数的局限性及
解决方案
欧几里得算法
求
最大公约数的局限性及
解决方案
java 奥运五环_[
求
助]
求
奥运五环 java代码
[
求
助]
求
奥运五环 java代码
求
奥运五环 java小程序代码,急用!新手先谢过了!搜索更多相关的
解决方案
:奥运五环java代码----------------
解决方案
--------------------------------------------------------画五个圆不就可以了?----------------
解决方案
--------------------------...
VS2015安装 Secondary Installer Setup Failed
求
解决方案
VS2015安装 Secondary Installer Setup Failed
求
解决方案
发帖
JavaScript
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
8.7w+
社区成员
22.4w+
社区内容
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
帖子事件
创建了帖子
2009-12-28 11:28
社区公告
暂无公告