Java read-write xlsx

Source: Internet
Author: User
Tags log4j

---restore content starts---

The jar packages that you need to rely on<dependencies> <dependency> <groupId>junit</groupId> &LT;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> &lt ;version>1.2.12</version> </dependency> <!-- forSina crawl used, but with selenium needed version conflict 2.44selenium comes with 4.3.4httplient--><!--<dependency> <groupid&gt ;org.apache.httpcomponents</groupid> <artifactId>httpclient</artifactId> <versi on>4.5.2</version> </dependency> <dependency> <groupid>com.alib Aba</groupid> <artifactId>fastjson</artifactId> &LT;VERSION&GT;1.2.4&LT;/VERSION&G        T </dependency> <dependency> <groupId>net.sf.json-lib</groupId> <art Ifactid>json-lib</artifactid> <version>2.4</version> <classifier>jdk15&lt ;/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&lt ;/version> </dependency> <dependency> <groupid>net.sourceforge.jexce    Lapi</groupid>        <artifactId>jxl</artifactId> <version>2.6.12</version> &LT;/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> &LT;ARTIFACTID&GT;POI-OOXML&LT;/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

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.