当前位置: 首页 > news >正文

电子商务中网站开发百度秒收录排名软件

电子商务中网站开发,百度秒收录排名软件,网站建设前期准备工作总结,建设企业网站专业服务最近在工作中,作者频频接触到Excel处理,因此也对EasyExcel进行了一定的研究和学习,也曾困扰过如何处理多个sheet,因此此处分享给大家,希望能有所帮助 目录 1.依赖 2. Excel类 3.处理Excel读取和写入多个sheet 4. 执…

        最近在工作中,作者频频接触到Excel处理,因此也对EasyExcel进行了一定的研究和学习,也曾困扰过如何处理多个sheet,因此此处分享给大家,希望能有所帮助

目录

1.依赖

2. Excel类

3.处理Excel读取和写入多个sheet

4. 执行结果


1.依赖

        首先需要导入EasyExcel依赖(lombok只是为了写实体类方便)

    <dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.34</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.3</version></dependency></dependencies>

2. Excel类

        编写输出的Excel类,这里以Class类和Student类为例

@ToString
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Class {@ExcelProperty("班级id")private Integer id;@ExcelProperty("班级名称")private String name;
}
@ToString
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student {@ExcelProperty("班级id")private Integer classId;@ExcelProperty("学生id")private Integer id;@ExcelProperty("学生姓名")private String name;
}

3.处理Excel读取和写入多个sheet

        通过注册监听器的方式处理数据的加载以及异常捕获等事件

@Slf4j
public class ExcelProcess {public void read(File file) {List<Class> classes = new ArrayList<>();List<Student> students = new ArrayList<>();try {EasyExcel.read(file).sheet(0) //指定处理第一页sheet.head(Class.class) // 指定Class类型.registerReadListener(new ExcelReadListener<Class>(classes, file.getName())) //注册监听器,在监听器中进行进一步操作.doRead();EasyExcel.read(file).sheet(1)//指定处理第二页sheet.head(Student.class)// 指定Student类型.registerReadListener(new ExcelReadListener<Student>(students, file.getName()))//注册监听器,在监听器中进行进一步操作.doRead();} catch (Exception e) {e.printStackTrace();}classes.forEach(System.out::println);students.forEach(System.out::println);}public void write(File file) {List<Class> classes = new ArrayList<Class>();classes.add(new Class(1, "1班"));classes.add(new Class(2, "2班"));List<Student> students = new ArrayList<>();students.add(new Student(1, 1, "小明"));students.add(new Student(1, 2, "小红"));students.add(new Student(2, 3, "小黄"));students.add(new Student(2, 3, "小蓝"));try {writeExcel(file, "excel名称", classes, students);} catch (Exception e) {log.error("写入excel失败", e);throw e;}}/*** 正常web开发网络响应传入的是流,因此需要再给一个excel名称,这里用不到** @param file* @param excelName* @param lists     需要写入的数据*/private void writeExcel(File file, String excelName, List... lists) {ExcelWriter excelWriter = EasyExcel.write(file).build();for (int i = 0; i < lists.length; i++) {WriteSheet writeSheet = EasyExcel.writerSheet("sheet" + (i + 1)).head(lists[i].get(0).getClass()).build();excelWriter.write(lists[i], writeSheet);}excelWriter.finish();}public static void main(String[] args) {File file = new File("test.xlsx");ExcelProcess excelProcess = new ExcelProcess();excelProcess.write(file);excelProcess.read(file);}
}

@Slf4j
public class ExcelReadListener<T> extends AnalysisEventListener<T> {private final List<T> dataList;private String fileName;public ExcelReadListener(List<T> dataList, String fileName) {this.dataList = dataList;this.fileName = fileName;}@Overridepublic void invoke(T t, AnalysisContext analysisContext) {//将当前读取到的数据加入集合dataList.add(t);}@Overridepublic void doAfterAllAnalysed(AnalysisContext analysisContext) {log.info("Excel文件:" + fileName + " sheet:" + analysisContext.getCurrentSheet().getSheetName() + " 读取完成");}@Overridepublic void onException(Exception exception, AnalysisContext context) throws Exception {if (exception instanceof ExcelDataConvertException) {ExcelDataConvertException e = (ExcelDataConvertException) exception;throw new RuntimeException("文件读取异常,sheet:" + context.getCurrentSheet().getSheetName() +" 第" + (e.getRowIndex() + 1) + "行第" + (char) ('A' + e.getColumnIndex()) + "列出错,请修改后重新上传\n", e);} else {log.error("excel导入时出错");throw new RuntimeException("系统异常,请重新上传", exception);}}
}

4. 执行结果

        如果大家有更好的处理方式,欢迎在评论区讨论

http://www.ds6.com.cn/news/46895.html

相关文章:

  • 网页设计网站怎么做特效seo实战培训
  • 深圳市宝安区建设局网站天津seo选天津旗舰科技a
  • 西安公司网站设计费用深圳企业黄页网
  • 伦教九江网站建设沧州搜索引擎优化
  • 品牌包包排行榜深圳seo优化排名优化
  • 北京招聘网站开发免费html网页模板
  • 网站的优点seo排名怎么优化软件
  • 中囯军事网优化网站平台
  • jsp网站开发可行性分析seo优化推广工程师招聘
  • 手机网站的优缺点做一个网站需要什么
  • 网页传奇网站河北百度seo
  • seo刷关键词排名工具宁波seo深度优化平台有哪些
  • 龙岗建设网站制作3a汽车集团公司网络营销方案
  • 缪斯设计公司汕头seo排名收费
  • flash 网站 收费英语培训机构
  • 交互式网站app株洲seo
  • 贵阳网站备案佛山seo网站排名
  • 大兴建站推广网络营销和传统营销的关系
  • 如何做电影网站不违法seo公司排名教程
  • DS716 II 做网站关键词挖掘ppt
  • 家乡网站策划书建设背景合肥品牌seo
  • 电子商务网站建设课程总结武汉今日头条最新消息
  • 宁德网站建设深圳网络推广
  • 织梦做的网站后台怎么进网址注册在哪里注册
  • 影视网站建设抖音seo怎么做
  • 品牌网站建设服务机构安卓优化大师全部版本
  • 朝阳区网站建设今日特大新闻新事
  • 哪个网站网页做的好看市场调研分析报告模板
  • 如何建立自己的购物网站南昌seo排名收费
  • 奉贤免费网站建设安卓优化大师老版本下载