
用java文件如何去掉excel中的重复数据(如有三列完全相同的数据视为重复输入,重复的数据只保留第一条) 20
publicstaticintBL_CheckRoomMaterialData(Documentdoc,BizContextparam)throwsException{N...
public static int BL_CheckRoomMaterialData(Document doc, BizContext param) throws Exception{
Node list = (Node) param.getParaObjectAt(0);
Node result = (Node) param.getParaObjectAt(1);
ArrayList<String> temp = new ArrayList<String>();
ArrayList<String> temp1 = new ArrayList<String>();
ArrayList<String> temp2 = new ArrayList<String>();
int flag = 0;//机房资料是否重复
// 开始循环检测日期格式问题
for(int i=0;i<nl.getLength();i++){
String city = XmlUtil.findNode(nl.item(i), "/CITY").getFirstChild().getNodeValue();
String country_area = XmlUtil.findNode(nl.item(i), "/COUNTRY_AREA").getFirstChild().getNodeValue();
String room_name = XmlUtil.findNode(nl.item(i), "/ROOM_NAME").getFirstChild().getNodeValue();
String room_type = XmlUtil.findNode(nl.item(i), "/ROOM_TYPE").getFirstChild().getNodeValue();
String electric_charge_one = XmlUtil.findNode(nl.item(i), "/ELECTRIC_CHARGE_ONE").getFirstChild().getNodeValue();
String rowNum = XmlUtil.findNode(nl.item(i), "/RowNumber").getFirstChild().getNodeValue();
if("".equals(city.trim())){
el = doc.createElement("errMsg");
text = doc.createTextNode("第"+rowNum+"行数据“所属地市”列不能为空!");
el.appendChild(text);
result.appendChild(el);
}
if("".equals(country_area.trim())){
el = doc.createElement("errMsg");
text = doc.createTextNode("第"+rowNum+"行数据“县/区域”列不能为空!");
el.appendChild(text);
result.appendChild(el);
}
if("".equals(room_name.trim())){
el = doc.createElement("errMsg");
text = doc.createTextNode("第"+rowNum+"行数据“机房名称”列不能为空!");
el.appendChild(text);
result.appendChild(el);
}
else{
//机房资料重复验证
int tempLength = temp.size();
if(tempLength > 0){
for(int j = 0;j < tempLength;j++){
if(city.trim() == temp1.get(j)&&country_area.trim() == temp2.get(j)&&room_name.trim() == temp.get(j)){flag = 1;break;}
}
if(flag == 1){
el = doc.createElement("errMsg");
text = doc.createTextNode("第"+rowNum+"行所属地市为"+city.trim()+" 县/区域为"+country_area.trim()+" 机房名称为"+room_name.trim()+"的机房资料数据有重复!请核实后重新导入!");
el.appendChild(text);
result.appendChild(el);
}
}
temp1.add(city.trim());
temp2.add(country_area.trim());
temp.add(room_name.trim());
}
if("".equals(room_type.trim())){
el = doc.createElement("errMsg");
text = doc.createTextNode("第"+rowNum+"行数据“机房类别”列不能为空!");
el.appendChild(text);
result.appendChild(el);
}
}
return 1;
}
以上是我的代码,但是结果是不对的,求大师帮忙!
重点是机房资料重复验证那里! 展开
Node list = (Node) param.getParaObjectAt(0);
Node result = (Node) param.getParaObjectAt(1);
ArrayList<String> temp = new ArrayList<String>();
ArrayList<String> temp1 = new ArrayList<String>();
ArrayList<String> temp2 = new ArrayList<String>();
int flag = 0;//机房资料是否重复
// 开始循环检测日期格式问题
for(int i=0;i<nl.getLength();i++){
String city = XmlUtil.findNode(nl.item(i), "/CITY").getFirstChild().getNodeValue();
String country_area = XmlUtil.findNode(nl.item(i), "/COUNTRY_AREA").getFirstChild().getNodeValue();
String room_name = XmlUtil.findNode(nl.item(i), "/ROOM_NAME").getFirstChild().getNodeValue();
String room_type = XmlUtil.findNode(nl.item(i), "/ROOM_TYPE").getFirstChild().getNodeValue();
String electric_charge_one = XmlUtil.findNode(nl.item(i), "/ELECTRIC_CHARGE_ONE").getFirstChild().getNodeValue();
String rowNum = XmlUtil.findNode(nl.item(i), "/RowNumber").getFirstChild().getNodeValue();
if("".equals(city.trim())){
el = doc.createElement("errMsg");
text = doc.createTextNode("第"+rowNum+"行数据“所属地市”列不能为空!");
el.appendChild(text);
result.appendChild(el);
}
if("".equals(country_area.trim())){
el = doc.createElement("errMsg");
text = doc.createTextNode("第"+rowNum+"行数据“县/区域”列不能为空!");
el.appendChild(text);
result.appendChild(el);
}
if("".equals(room_name.trim())){
el = doc.createElement("errMsg");
text = doc.createTextNode("第"+rowNum+"行数据“机房名称”列不能为空!");
el.appendChild(text);
result.appendChild(el);
}
else{
//机房资料重复验证
int tempLength = temp.size();
if(tempLength > 0){
for(int j = 0;j < tempLength;j++){
if(city.trim() == temp1.get(j)&&country_area.trim() == temp2.get(j)&&room_name.trim() == temp.get(j)){flag = 1;break;}
}
if(flag == 1){
el = doc.createElement("errMsg");
text = doc.createTextNode("第"+rowNum+"行所属地市为"+city.trim()+" 县/区域为"+country_area.trim()+" 机房名称为"+room_name.trim()+"的机房资料数据有重复!请核实后重新导入!");
el.appendChild(text);
result.appendChild(el);
}
}
temp1.add(city.trim());
temp2.add(country_area.trim());
temp.add(room_name.trim());
}
if("".equals(room_type.trim())){
el = doc.createElement("errMsg");
text = doc.createTextNode("第"+rowNum+"行数据“机房类别”列不能为空!");
el.appendChild(text);
result.appendChild(el);
}
}
return 1;
}
以上是我的代码,但是结果是不对的,求大师帮忙!
重点是机房资料重复验证那里! 展开
2个回答
2013-02-05
展开全部
delete from 表 a where (a.Id,a.seq) in (select Id,seq from 表 group by Id,seq having count(*) > 1) and rowid not in (select min(rowid) from 表 group by Id,seq having count(*)>1)
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
撤销可以的
追问
不明白,可不可以说明白些?非常感谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询