Commit 908ccde2 by 俞宁

ReadAndWriteExcel

parents
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4" />
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yn</groupId>
<artifactId>easyexcel</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.30</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package com.yn.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class MatchPlatform {
@ExcelProperty("地址")
private String url;//网址
@ExcelProperty("自媒体平台")
private String platform;//平台
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getPlatform() {
return platform;
}
public void setPlatform(String platform) {
this.platform = platform;
}
@Override
public String toString() {
return "pojo{" +
"url='" + url + '\'' +
", platform='" + platform + '\'' +
'}';
}
}
package com.yn.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class NewPlatform {
@ExcelProperty("平台")
private String platform;//平台
@ExcelProperty("来源")
private String resource;//来源
@ExcelProperty("渠道")
private String channel;//渠道
@ExcelProperty("时间")
private Date time;//时间
@ExcelProperty("标题")
private String title;//标题
@ExcelProperty("文本")
private String txt;//文本
@ExcelProperty("地址")
private String fullurl;//地址
@ExcelProperty("情感倾向")
private String emotional;//情感倾向
public String getPlatform() {
return platform;
}
public void setPlatform(String platform) {
this.platform = platform;
}
public String getResource() {
return resource;
}
public void setResource(String resource) {
this.resource=resource;
}
public String getChannel() {
return channel;
}
public void setChannel(String channel) {
this.channel = channel;
}
public Date getTime() {
return time;
}
public void setTime(Date time) {
this.time = time;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getTxt() {
return txt;
}
public void setTxt(String txt) {
this.txt = txt;
}
public String getFullurl() {
return fullurl;
}
public void setFullurl(String fullurl) {
this.fullurl = fullurl;
}
public String getEmotional() {
return emotional;
}
public void setEmotional(String emotional) {
this.emotional = emotional;
}
@Override
public String toString() {
return "NewPojo{" +
"platform='" + platform + '\'' +
", resource='" + resource + '\'' +
", channel='" + channel + '\'' +
", time=" + time +
", title='" + title + '\'' +
", txt='" + txt + '\'' +
", fullurl='" + fullurl + '\'' +
", emotional='" + emotional + '\'' +
'}';
}
}
package com.yn.listener;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.yn.entity.MatchPlatform;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
public class MatchPlatformListener extends AnalysisEventListener<MatchPlatform> {
private Logger logger= LoggerFactory.getLogger(MatchPlatformListener.class);
List<MatchPlatform> list1 = new ArrayList<MatchPlatform>();
@Override
public void invoke(MatchPlatform pojo, AnalysisContext analysisContext) {
//logger.info("解析到一条数据:{}", JSON.toJSONString(pojo));
//list1.add(pojo);
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
}
\ No newline at end of file
package com.yn.listener;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.yn.entity.NewPlatform;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
public class NewPlatformListener extends AnalysisEventListener<NewPlatform> {
private Logger logger = LoggerFactory.getLogger(NewPlatformListener.class);
List<NewPlatform> list1 = new ArrayList<NewPlatform>();
@Override
public void invoke(NewPlatform newPojo, AnalysisContext analysisContext) {
// logger.info("解析到一条数据:{}", JSON.toJSONString(NewPojo));
//list1.add(NewPojo);
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
}
log4j.rootLogger=debug,CONSOLE,file
#log4j.rootLogger=ERROR,ROLLING_FILE
log4j.logger.cn.smbms=debug
log4j.logger.org.apache.ibatis=debug
log4j.logger.org.mybatis.spring=debug
log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug
log4j.logger.java.sql.ResultSet=debug
######################################################################################
# Console Appender \u65e5\u5fd7\u5728\u63a7\u5236\u8f93\u51fa\u914d\u7f6e
######################################################################################
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=debug
log4j.appender.CONSOLE.DatePattern=yyyy-MM-dd
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern= - (%r ms) - %d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%n
######################################################################################
# Rolling File \u6587\u4ef6\u5927\u5c0f\u5230\u8fbe\u6307\u5b9a\u5c3a\u5bf8\u7684\u65f6\u5019\u4ea7\u751f\u4e00\u4e2a\u65b0\u7684\u6587\u4ef6
######################################################################################
#log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
#log4j.appender.ROLLING_FILE.Threshold=INFO
#log4j.appender.ROLLING_FILE.File=${baojia.root}/logs/log.log
#log4j.appender.ROLLING_FILE.Append=true
#log4j.appender.ROLLING_FILE.MaxFileSize=5000KB
#log4j.appender.ROLLING_FILE.MaxBackupIndex=100
#log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
#log4j.appender.ROLLING_FILE.layout.ConversionPattern=%d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%n
######################################################################################
# DailyRolling File \u6bcf\u5929\u4ea7\u751f\u4e00\u4e2a\u65e5\u5fd7\u6587\u4ef6\uff0c\u6587\u4ef6\u540d\u683c\u5f0f:log2009-09-11
######################################################################################
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern=yyyy-MM-dd
log4j.appender.file.File=${SMBMS_C09_02.root}/logs/log.log
log4j.appender.file.Append=true
log4j.appender.file.Threshold=debug
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern= - (%r ms) - %d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%n
#DWR \u65e5\u5fd7
#log4j.logger.org.directwebremoting = ERROR
#\u663e\u793aHibernate\u5360\u4f4d\u7b26\u7ed1\u5b9a\u503c\u53ca\u8fd4\u56de\u503c
#log4j.logger.org.hibernate.type=DEBUG,CONSOLE
#log4j.logger.org.springframework.transaction=DEBUG
#log4j.logger.org.hibernate=DEBUG
#log4j.logger.org.acegisecurity=DEBUG
#log4j.logger.org.apache.myfaces=TRACE
#log4j.logger.org.quartz=DEBUG
#log4j.logger.com.opensymphony=INFO
#log4j.logger.org.apache.struts2=DEBUG
log4j.logger.com.opensymphony.xwork2=debug
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.read.listener.ModelBuildEventListener;
import com.yn.entity.NewPlatform;
import com.yn.entity.MatchPlatform;
import com.yn.listener.MatchPlatformListener;
import com.yn.listener.NewPlatformListener;
import java.util.ArrayList;
import java.util.List;
public class ReadAndWriteExcel {
public static void main(String[] args) {
List<MatchPlatform> list1 = new ArrayList<MatchPlatform>();
List<NewPlatform> list3 = new ArrayList<NewPlatform>();
String path = "D:\\ideaproject1\\zhiwei\\easyexcel";
String fileName = "净水周报&月报平台划分参考20200921更新.xlsx";
list1 = EasyExcel.read(fileName, MatchPlatform.class, new MatchPlatformListener()).sheet().doReadSync();
String fileName2= "净水季报阿里.xlsx";
list3 = EasyExcel.read(fileName2, NewPlatform.class, new NewPlatformListener()).sheet().doReadSync();
List<NewPlatform> dataList = new ArrayList<>();
for (NewPlatform newPlatform : list3){
int i = 1;
for (MatchPlatform matchPlatform : list1){
String matchUrl = matchPlatform.getUrl().replaceAll("\\*","");
String platform = matchPlatform.getPlatform();
if(newPlatform.getFullurl().contains(matchUrl)){
newPlatform.setResource(platform);
dataList.add(newPlatform);
break;
}else if(i== list1.size()){
dataList.add(newPlatform);
}
i++;
}
}
String fileName3 = "新净水季报阿里excel.xlsx";
EasyExcel.write(fileName3, NewPlatform.class).sheet("新净水季报阿里excel").doWrite(dataList);
}
}
log4j.rootLogger=debug,CONSOLE,file
#log4j.rootLogger=ERROR,ROLLING_FILE
log4j.logger.cn.smbms=debug
log4j.logger.org.apache.ibatis=debug
log4j.logger.org.mybatis.spring=debug
log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug
log4j.logger.java.sql.ResultSet=debug
######################################################################################
# Console Appender \u65e5\u5fd7\u5728\u63a7\u5236\u8f93\u51fa\u914d\u7f6e
######################################################################################
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=debug
log4j.appender.CONSOLE.DatePattern=yyyy-MM-dd
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern= - (%r ms) - %d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%n
######################################################################################
# Rolling File \u6587\u4ef6\u5927\u5c0f\u5230\u8fbe\u6307\u5b9a\u5c3a\u5bf8\u7684\u65f6\u5019\u4ea7\u751f\u4e00\u4e2a\u65b0\u7684\u6587\u4ef6
######################################################################################
#log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
#log4j.appender.ROLLING_FILE.Threshold=INFO
#log4j.appender.ROLLING_FILE.File=${baojia.root}/logs/log.log
#log4j.appender.ROLLING_FILE.Append=true
#log4j.appender.ROLLING_FILE.MaxFileSize=5000KB
#log4j.appender.ROLLING_FILE.MaxBackupIndex=100
#log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
#log4j.appender.ROLLING_FILE.layout.ConversionPattern=%d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%n
######################################################################################
# DailyRolling File \u6bcf\u5929\u4ea7\u751f\u4e00\u4e2a\u65e5\u5fd7\u6587\u4ef6\uff0c\u6587\u4ef6\u540d\u683c\u5f0f:log2009-09-11
######################################################################################
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern=yyyy-MM-dd
log4j.appender.file.File=${SMBMS_C09_02.root}/logs/log.log
log4j.appender.file.Append=true
log4j.appender.file.Threshold=debug
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern= - (%r ms) - %d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%n
#DWR \u65e5\u5fd7
#log4j.logger.org.directwebremoting = ERROR
#\u663e\u793aHibernate\u5360\u4f4d\u7b26\u7ed1\u5b9a\u503c\u53ca\u8fd4\u56de\u503c
#log4j.logger.org.hibernate.type=DEBUG,CONSOLE
#log4j.logger.org.springframework.transaction=DEBUG
#log4j.logger.org.hibernate=DEBUG
#log4j.logger.org.acegisecurity=DEBUG
#log4j.logger.org.apache.myfaces=TRACE
#log4j.logger.org.quartz=DEBUG
#log4j.logger.com.opensymphony=INFO
#log4j.logger.org.apache.struts2=DEBUG
log4j.logger.com.opensymphony.xwork2=debug
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment