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

云南制作网站的公司设计公司logo大概需要多少钱

云南制作网站的公司,设计公司logo大概需要多少钱,使用html作为wordpress登录,wordpress 文章图片自动添加图片背景 系统中经常要导出大量的数据#xff0c;格式基本上都是Excel#xff0c;然而每次导表都是对系统内存的一次挑战。在Java领域#xff0c;生成或解析Excel的框架比较有名的当属Apache的poi和jxl了。但使用它们#xff0c;会面临着严重的内存损耗问题。如果系统的并发量还… 背景 系统中经常要导出大量的数据格式基本上都是Excel然而每次导表都是对系统内存的一次挑战。在Java领域生成或解析Excel的框架比较有名的当属Apache的poi和jxl了。但使用它们会面临着严重的内存损耗问题。如果系统的并发量还不行一旦导出大量数据便会出现JVM频繁full gc甚至导致OOM。EasyExcel是阿里巴巴开源的一个Excel处理框架使用简单、节省内存。节省内存的原理也很简单在解析Excel时没有将文件数据全部加载到内存当中而是从磁盘文件中一行行读取。今天这篇文章就带大家来了解一下EasyExcel的使用个人使用后的感慨是太简单易用了。项目构建及依赖 首先创建一个Maven项目在pom文件中添加如下依赖dependencygroupIdcom.alibaba/groupIdartifactIdeasyexcel/artifactIdversion2.2.8/version /dependency当引入该依赖之后会发现在项目的依赖文件中同时多出了poi的类库。也就是说EasyExcel是基于poi来进行实现的间接地引入了如下依赖dependencygroupIdorg.apache.poi/groupIdartifactIdpoi/artifactIdversion3.17/version /dependency dependencygroupIdorg.apache.poi/groupIdartifactIdpoi-ooxml/artifactIdversion3.17/version /dependency所以当你的项目中已经引入了poi的依赖要考虑一下版本的兼容问题。创建实体类 EasyExcel易用性的体现之一就是可以通过在实体类中使用注解的形式来与Excel中的表头进行绑定。现在直接上实体类Data public class UserData {ExcelProperty(index  0, value  姓名)private String username;ExcelProperty(index  1, value  年龄)private int age;DateTimeFormat(yyyy-MM-dd)ExcelProperty(index  2, value  生日)private Date birthday; }在上面的实体类中Data为Lombok的注解当然你可以自行生成getter/setter方法其他的注解均为EasyExcel提供的ExcelProperty用于设置Excel表头其中index用户表头的编号从0开始value为表头对应的内容。DateTimeFormat用于日期的格式化。完成上述功能准备工作之后我们先来生成一个Excel。生成Excel 下面直接展示生成Excel的示例代码public class EasyExcelDemo {public static void main(String[] args) {// 实现excel写操作//1.设置写入文件夹地址和excel文件名称String fileName  /Users/zzs/temp/excel/write.xlsx;//调用easyExcel里面的方法实现写操作//2个参数第一个参数是文件名称第二个参数是实体类EasyExcel.write(fileName, UserData.class).sheet(学生信息表).doWrite(getData());}//创建方法返回list集合public static ListUserData getData() {ListUserData list  new ArrayList();UserData userData1  new UserData();userData1.setUsername(张三);userData1.setAge(22);userData1.setBirthday(formatDate(2000-10-11));list.add(userData1);UserData userData2  new UserData();userData2.setUsername(李四);userData2.setAge(23);userData2.setBirthday(formatDate(1999-5-3));list.add(userData2);return list;}public static Date formatDate(String birthday) {SimpleDateFormat sdf  new SimpleDateFormat(yyy-MM-dd);try {return sdf.parse(birthday);} catch (ParseException e) {e.printStackTrace();}return null;} }除了准备数据的代码核心代码只有main方法中调用的EasyExcel.write方法就是如此的简单。EasyExcel的write方法会根据传入的数据和实体类UserData进行绑定生成Excel文件。我们来看一下Excel的效果write-excel生成效果还不错而且使用起来是不是非常简单解析Excel 再来看看解析Excel的操作直接用上面生成的Excel文件。首先创建一个监听器ExcelListener集成EasyExcel提供AnalysisEventListener类public class ExcelListener extends AnalysisEventListenerUserData {/*** 一行一行的读取excel内容*/Overridepublic void invoke(UserData data, AnalysisContext analysisContext) {System.out.println(****  data);}/*** 读取表头内容*/Overridepublic void invokeHeadMap(MapInteger, String headMap, AnalysisContext context) {System.out.println(表头  headMap);}/*** 读取完成操作*/Overridepublic void doAfterAllAnalysed(AnalysisContext analysisContext) {System.out.println(读取Excel完毕);} }在该监听器中通过重写AnalysisEventListener的方法来获得解析的数据、表头信息以及解析完毕之后执行的操作信息。同样写Excel一样通过EasyExcel类的静态方法来执行读操作public class EasyExcelReadDemo {public static void main(String[] args) {// 实现excel写操作//1.设置写入文件夹地址和excel文件名称String fileName  /Users/zzs/temp/excel/write.xlsx;//调用easyExcel里面的方法实现写操作//2个参数第一个参数是文件名称第二个参数是实体类EasyExcel.read(fileName, UserData.class, new ExcelListener()).sheet().doRead();} }执行上述方法打印信息如下表头{0姓名, 1年龄, 2生日} ****UserData(username张三, age22, birthdayWed Oct 11 00:00:00 CST 2000) ****UserData(username李四, age23, birthdayMon May 03 00:00:00 CST 1999) 读取Excel完毕最先是打印了表头信息这里也可以看到表头的排序是从0开始的。然后读取并打印了对应的Excel内容两条数据最后执行读取完的方法中的日志打印。看完了上面的整个操作解析Excel是不是变得非常简单了再也不为解析Excel犯愁了。其他相关特殊用法 上面提到的DateTimeFormat注解可转换日期格式还有其他类似功能的注解和自定义转换器。自定义转换器通过自定义转换器比如将1、0转换成男、女的实例import com.alibaba.excel.converters.Converter; import com.alibaba.excel.enums.CellDataTypeEnum; import com.alibaba.excel.metadata.CellData; import com.alibaba.excel.metadata.GlobalConfiguration; import com.alibaba.excel.metadata.property.ExcelContentProperty;public class SexConverter implements ConverterInteger {Overridepublic ClassInteger supportJavaTypeKey() {return Integer.class;}Overridepublic CellDataTypeEnum supportExcelTypeKey() {return CellDataTypeEnum.STRING;}Overridepublic Integer convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {return 男.equals(cellData.getStringValue()) ? 1 : 0;}Overridepublic CellDataString convertToExcelData(Integer integer, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {return new CellData(integer.equals(1) ? 男 : 女);} }性别属性注入SexConverter转换器ExcelProperty(value  性别, converter  SexConverter.class) private Integer sex;再次生成Excel性别字段内容便显示为男、女字样。保留两位小数比如体重需要保留两位小数可通过NumberFormat 注解实现ExcelProperty(value  体重KG) NumberFormat(0.##) // 会以字符串形式生成单元格要计算的列不推荐 private BigDecimal weight;另外一种方法是使用ContentStyle注解ContentStyle(dataFormat  2) private BigDecimal weight2;这样也能达到保留两位小数的效果。当然也可以使用实现Converter接口的方式实现同性别实现。排除指定Excel列在很多场景下Excel的列与实体类可能并不完全一致这时就需要排除一些实体类的字段。方式一类上加注解 ExcelIgnoreUnannotated过滤属性没有ExcelProperty注解的字段Data ToString AllArgsConstructor NoArgsConstructor  // 一定要有无参构造方法 ExcelIgnoreUnannotated public class UserData {..... }方式二指定字段加ExcelIgnore注解ExcelIgnore // 该字段不生成excel private String remark;方式三代码指定过滤字段通过excludeColumnFiledNames方法EasyExcel.write(fileName, UserData.class).sheet(学生信息表).excludeColumnFiledNames(Arrays.asList(remark)).doWrite(getData());这种方法的好处是同一Excel可以在调用方法时排除不同的数据列。小结 本文介绍了EasyExcel的使用整体而言操作简单、使用方便提供了不少注解方便与实体对象之间的关系绑定。而且官网也提供了相关的性能数据更多的API使用大家还可以继续探索。无论从性能或易用性上来说都值得你尝试。特别是临时写一个Excel的解析或生成的工具再也不用惆怅一行行的解析了赶紧收藏用起来吧。往期推荐实战10 种实现延迟任务的方法附代码最简单的6种防止数据重复提交的方法(干货)Spring Cloud OpenFeign 的 5 个优化小技巧
http://wiki.neutronadmin.com/news/66790/

相关文章:

  • 对亚马逊网站做简要分析与评价临沂网站开发
  • 海口 做网站网站开发要什么样的环境
  • 网站做淘宝客大连哪个公司做网站开发的
  • 大连网站建设哪个好济南正规的网站制作
  • 注册网站域名有什么用官网抖音下载
  • 如何给网站划分栏目可以做h5网站
  • 做平面的就一定要做网站吗现在做网络推广都有什么方式
  • 携程网站建设的意义wordpress+挂马+清除
  • 网站域名备案查询网页视频怎么下载到本地手机
  • 网站开发包括建设主题网站的顺序是什么
  • 连云港北京网站建设wordpress 缩略图代码
  • 如何做查询网站视频网站点击链接怎么做
  • 为什么做的网站别的浏览器打不开怎么办恶意网站怎么办
  • 手机移动端网站是什么云服务器做网站一般配置
  • wordpress 左上角w去掉seo岗位要求
  • 平面设计网站排行榜wordpress 禁用功能
  • 做汽车网站费用网页制作工具中文版
  • 做私人网站 违法开一个网站_只做同城交易
  • 小昆山网站建设如何通过网站做网上报名系统
  • 傻瓜式网站开发旅游网站设计的优点
  • 烟台网站制作效果网站排名监控工具
  • 网站建设模板是什么seo技术
  • 金环建设集团网站学校网站建设的难点
  • 柳州网站建设找华仔网站建设工作台账
  • 怎么形容网站做的好h5做怎么做微网站
  • php可以做网站列举至少五个网络营销方式
  • 网站开发使用数据库的好处如何建设内网网站
  • 外部网站跳转小程序网站开发人员招聘广告语
  • 深圳网站关键词优化公司做网站需要几大模板
  • 电子商务网站建设总结怎样查看网站是用什么做的