---restore content starts---
The jar packages that you need to rely on<dependencies> <dependency> <groupId>junit</groupId> <ARTIFACTID&G T;junit</artifactid> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- forFTP-<dependency> <groupId>commons-net</groupId> <artifactid>co mmons-net</artifactid> <version>3.6</version> </dependency> <dependenc y> <groupId>log4j</groupId> <artifactId>log4j</artifactId> < ;version>1.2.12</version> </dependency> <!-- forSina crawl used, but with selenium needed version conflict 2.44selenium comes with 4.3.4httplient--><!--<dependency> <groupid> ;org.apache.httpcomponents</groupid> <artifactId>httpclient</artifactId> <versi on>4.5.2</version> </dependency> <dependency> <groupid>com.alib Aba</groupid> <artifactId>fastjson</artifactId> <VERSION>1.2.4</VERSION&G T </dependency> <dependency> <groupId>net.sf.json-lib</groupId> <art Ifactid>json-lib</artifactid> <version>2.4</version> <classifier>jdk15< ;/classifier> </dependency> <!--https://Mvnrepository.com/artifact/mysql/mysql-connector-java --<dependency> <groupId>mysql</groupId> <artifactid>mysql-connector-java</a rtifactid> <version>5.1.8</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <v Ersion>3.9</version> </dependency> <!--https://Mvnrepository.com/artifact/org.apache.poi/poi-ooxml --<dependency> <groupId>org.apache.poi</groupId> <artifactid>poi-ooxml</art ifactid> <version>3.9</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.48.0</version> </dependency> <!-- for Use selenium and poi-<dependency> <groupId>xml-apis</groupId> < Artifactid>xml-apis</artifactid> <version>1.4.01</version> </dependency> <!--excal--<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version> </dependency> & Lt;dependency> <groupId>org.apache.poi</groupId> <artifactid>poi-ooxml</arti factid> <version>3.9</version> </dependency> <dependency> & Lt;groupid>dom4j</groupid> <artifactId>dom4j</artifactId> <version>1.6< ;/version> </dependency> <dependency> <groupid>net.sourceforge.jexce Lapi</groupid> <artifactId>jxl</artifactId> <version>2.6.12</version> </DEPENDENCY&G T <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> & Lt;version>3.14</version> </dependency> <!--https://Mvnrepository.com/artifact/org.apache.poi/poi-ooxml --<!--<dependency> <groupId>org.apache.poi</groupId> <ARTIFACTID>POI-OOXML</ARTIFAC tid> <version>3.14</version> </dependency> </dependencies>
2. configuration file Contents
Wbzs=/home/lt/zs1.xlsx
Savezs=/home/lt/savezs.xlsx
3. Tool classes for reading configuration files
Packagecn.iie.icm.xlsx;ImportJava.io.File;ImportJava.io.FileOutputStream;Importjava.io.IOException;ImportJava.io.InputStream;ImportJava.io.InputStreamReader;ImportJava.io.OutputStream;Importjava.util.Properties; Public classServerconfig {Private Static FinalString Property_path = "/server.properties"; PrivateProperties props =NewProperties (); PublicServerconfig () {loadconfig (); } Public voidLoadconfig () {InputStream in=NULL; Try{ in= Serverconfig.class. getResourceAsStream (Property_path);//props.load (in);Props.load (NewInputStreamReader (In, "UTF-8"));//For Chinese}Catch(Exception ex) {ex.printstacktrace (); }finally{ if(in!=NULL){ Try{in.close (); }Catch(Exception ex) {ex.printstacktrace (); } } } } Public voidsaveconfig (String adminid,string passwd) {outputstream OS=NULL; Try{String FileName= Serverconfig.class. getClassLoader (). GetResource (Property_path). GetFile (); OS=NewFileOutputStream (NewFile (fileName)); Props.clear (); Props.setproperty ("Username", Adminid); Props.setproperty ("Password", passwd); Props.store (OS,""); Os.flush (); }Catch(Exception ex) {ex.printstacktrace (); }finally{ if(os!=NULL){ Try{os.close (); } Catch(IOException e) {e.printstacktrace (); } } } } PublicString Getadminid () {return This. Props.getproperty ("username"); } PublicString getadminpwd () {return This. Props.getproperty ("Password"); } PublicProperties GetProps () {returnprops; } Publicstring Getprop (String key) {returnProps.getproperty (key); } Public BooleanContainsKey (String key) {returnProps.containskey (key); }}
4. Entity classes
Package Cn.iie.icm.zhuanshi;import Java.util.arrays;public class User {private string Xh;private string userid;private String Username;private string Sourcesiteproduct;private string gktimes;private string status;private string Fensi; Public String Getxh () {return XH;} public void Setxh (String xh) {this.xh = XH;} Public String GetUserId () {return userId;} public void Setuserid (String userId) {this.userid = userId;} Public String GetUserName () {return userName;} public void Setusername (String userName) {this.username = UserName;} Public String getsourcesiteproduct () {return sourcesiteproduct;} public void Setsourcesiteproduct (String sourcesiteproduct) {this.sourcesiteproduct = sourcesiteproduct;} Public String Getgktimes () {return gktimes;} public void Setgktimes (String gktimes) {this.gktimes = Gktimes;} Public String GetStatus () {return status;} public void SetStatus (String status) {this.status = status;} Public String Getfensi () {return fensi;} public void Setfensi (String fensi) {This.fensi = Fensi;} @Overridepublic String toString () {return "User [xh=" + XH + ", userid=" + UserId + ", username=" + UserName + ", sourcesit eproduct= "+ sourcesiteproduct+", gktimes= "+ Gktimes +", status= "+ Status +", fensi= "+ Fensi +"] ";}
Package Cn.iie.icm.xlsx;import Java.io.file;import Java.io.fileinputstream;import java.io.FileNotFoundException; Import Java.io.fileoutputstream;import Java.io.ioexception;import Java.text.simpledateformat;import Java.util.arraylist;import Java.util.date;import Java.util.linkedhashmap;import Java.util.List;import Java.util.map;import Org.apache.log4j.logger;import Org.apache.poi.hssf.usermodel.hssfcell;import Org.apache.poi.hssf.usermodel.hssfcellstyle;import Org.apache.poi.hssf.usermodel.hssffont;import Org.apache.poi.hssf.usermodel.hssfrow;import Org.apache.poi.hssf.usermodel.hssfsheet;import Org.apache.poi.hssf.usermodel.hssfworkbook;import Org.apache.poi.hssf.util.hssfcolor;import Org.apache.poi.poifs.filesystem.poifsfilesystem;import Org.apache.poi.ss.usermodel.cell;import Cn.iie.icm.zhuanshi.mylevenshtein;import Cn.iie.icm.zhuanshi.user;public class Pasexexcalzhuanshi {static Logger Logger = Logger.getlogger (pasexexcalzhuanshi.class);p rivate static serverconfig config = new ServerConfig ();p ublic static void Main (string[] args) {String path =config.getprop ("Wbzs");//string path = "/home/lt/zs.xlsx"; Logger.info ("=============path:" +path); Try {arraylist<user> result =readexcelutil.readexcel (path); Logger.info ("==========result:" +result.size ()); Map<string, user> maps=similarmap (result); Arraylist<user> resultinfo=new arraylist<user> (); For (String Key:maps.keySet ()) {System.out.println (key + ":" + maps.get (key)); User Info=maps.get (key); String Name=info.getuserid (); Logger.info ("====name:" +name); Resultinfo.add (info); } if (Resultinfo.size () >1) {/*string jieguo=writeaddexcal (RS); Logger.info ("================jieguo:" +jieguo); */ Writeexcelxlxs w=new Writeexcelxlxs (); String Ss=w.addwriteexcel (Resultinfo); Logger.info ("================ss:" +ss);}} catch (Exception e) {logger.info ("========== read excal failed"); E.printstacktrace ();}} Will find the reincarnation account placed in Map form accountidpublic static map<String, user> similarmap (arraylist<user> infos) {int group = 0;//map<integer, list<info>> Map = new L Inkedhashmap<integer, list<info>> ();//map<integer, map> maps = new Linkedhashmap<integer, Map > (); map<string, user> map = new linkedhashmap<string, user> (); try {logger.info ("======= start looking for reincarnation account!!!! "); list<user> result = Infos;logger.info ("======= the size of the collection is:" + result.size ()); for (int i = 0; i < result.size (); i++) {int f = i; User Targetuser = Result.get (i); String targetusername = Targetuser.getusername (); String Accountid=targetuser.getuserid (); Logger.info ("====accountid:" +accountid+ ", TargetUserName:" + TargetUserName);/*targetuser.setgroup (group); System.out.println ("Group:" +targetuser.getgroup () + ", Name:" +targetuser.getaccountname ()); */if (TargetUserName = = null | | TargetUserName = = "Null" | | Targetusername.equals (null)) {Logger.info ("=======================targetusername is empty:" + targetusername);} for (int j = 0; J < result.size ();J + +) {int k = ++i;logger.info ("=======k:" + K); Logger.info ("======i:" + i); if (K < result.size ()) {User Bjuser = result . get (k); String userName = Bjuser.getusername (); String Bjaccountid=bjuser.getuserid (); Logger.info ("=====bjaccountid:" +bjaccountid+ ", UserName:" + userName); UserName = = NULL | | Username.equals (null) | | Username.equals ("") | | Username.length () = = 0) {logger.info ("====username is empty:" + userName);} else {float bl = Mylevenshtein.levenshtein (TargetUserName, userName); if (bl > 0.5) {map.put (accountId, Targetuser); Map.put (Bjaccountid, Bjuser);}} else {i = F;logger.info ("I in =====else:" + i); break;}}} catch (Exception e) {logger.error ("===== error log:" +e.getmessage ()); E.printstacktrace ();} return map;} }
---restore content ends---
Java read-write xlsx