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

海沧建设网站多少食品包装袋设计

海沧建设网站多少,食品包装袋设计,广东省住房城乡建设部网站,wordpress注册邮件阿里开源的这个库#xff0c;让 Excel 导出不再复杂#xff08;既要能写#xff0c;还要写的好看#xff09; 之前聊了 EasyExcel 的内容导出#xff0c;本文主要说一下导出文件的格式化#xff0c;格式化包括工作表/单元格样式和内容格式化。毕竟#xff0c;有时候还是…阿里开源的这个库让 Excel 导出不再复杂既要能写还要写的好看 之前聊了 EasyExcel 的内容导出本文主要说一下导出文件的格式化格式化包括工作表/单元格样式和内容格式化。毕竟有时候还是要看脸。 内容比较多文内只会列出关键代码想要完整源码可以关注公号「看山的小屋」回复“easyexcel”获取。 注解格式 通过注解定义格式是 EasyExcel 封装的高级功能可以让我们很方便的定义格式。 格式化内容 先定义一个使用注解格式化内容的实体类 Datapublic class FormatContentItem {ExcelProperty(value 字符串标题, converter TitleFormatConverter.class)private String string;DateTimeFormat(yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒)ExcelProperty(value 日期标题)private Date date;NumberFormat(0.000%)ExcelProperty(数字标题)private Double doubleData; } 其中DateTimeFormat和NumberFormat两个注解都是自带的注解用于格式化时间和数字。 DateTimeFormat注解有两个属性一个属性是value用来定义时间格式可以参考java.text.SimpleDateFormat另一个属性是use1904windowing表示使用时间使用 1904 时间系统还是 1900 时间系统默认是否。 NumberFormat注解有两个属性一个属性是value用来定义数字格式可以参考java.text.DecimalFormat另一个属性是roundingMode用来定义保留小数的方式使用的是java.math.RoundingMode枚举。 想要格式化字符串可以借助ExcelProperty的 converter 属性这个属性传入实现Converter的类。比如示例中的TitleFormatConverter代码如下 public class TitleFormatConverter implements ConverterString {Overridepublic Class? supportJavaTypeKey() {return String.class;}Overridepublic CellDataTypeEnum supportExcelTypeKey() {return CellDataTypeEnum.STRING;}Overridepublic WriteCellData? convertToExcelData(String value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {return new WriteCellData(String.format(标题%s自定义, value));} }结果为 定义行高、列宽 使用注解定义行高的话可以使用HeadRowHeight定义表头高度使用ContentRowHeight定义表体高度这个注解定义之后所有表体高度都是相同的。列宽可以使用ColumnWidth注解定义这个注解可以定义在类上表示整个表格的列都一样宽也可以定义的属性上表示指定列的宽度。 Data HeadRowHeight(20) ContentRowHeight(10) ColumnWidth(25) public class FormatCellItem {ExcelProperty(字符串标题)private String string;ExcelProperty(日期标题)private Date date;ColumnWidth(50)ExcelProperty(数字标题)private Double doubleData; }结果为 单元格定义样式 控制单元格样式有四个注解HeadStyle、HeadFontStyle、ContentStyle、ContentFontStyle这四个注解可以定义在类上作为全局表格的样式也可以定义在字段上作为当前列的样式。下面分别说一下这几个注解中比较常用的配置。 Style分为HeadStyle和ContentStyle分别定义表头和表体样式 dataFormat表头格式化short 格式是org.apache.poi.ss.usermodel.BuiltinFormats类中已定义格式的小标 border分别是 borderLeft、borderRight、borderTop、borderBottom 四个属性类型是com.alibaba.excel.enums.poi.BorderStyleEnum枚举用来定义表头单元格边框样式。边框的颜色也可以定义使用、*BorderColor 定义即可。 fillPatternType填充类型类型是com.alibaba.excel.enums.poi.FillPatternTypeEnum枚举如果想要填充背景色这个属性需要设置为SOLID_FOREGROUND。 fillForegroundColor前景色类型是 short值却是使用的org.apache.poi.ss.usermodel.IndexedColors枚举的 idx 值只不过两个类型不一致一个是 short一个是 int没有办法直接引用。可见 java 中的依赖之间还是有很多坑的。 fillBackgroundColor背景色同fillForegroundColor。 rotation内容旋转角度 *FontStyle有HeadFontStyle和ContentFontStyle分别定义表头和表体的字体样式。 fontName定义字体名称类型字符串 fontHeightInPoints字号大小类型是 short italic是否斜体类型是com.alibaba.excel.enums.BooleanEnum bold是否加粗类型是com.alibaba.excel.enums.BooleanEnum strikeout是否使用删除线这个词本意是三振出局的意思应该是与棒球有关 color文本颜色值使用的是org.apache.poi.ss.usermodel.IndexedColors依然有类型不一致的情况 underline下划线类型是 byte可以直接使用Font.U_NONE、Font.U_SINGLE、Font.U_DOUBLE、Font.U_SINGLE_ACCOUNTING、Font.U_DOUBLE_ACCOUNTING。 我们可以这么定义 Data// 头背景设置成红色 IndexedColors.RED.getIndex() HeadStyle(fillPatternType FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor 10)// 头字体设置成 20 HeadFontStyle(fontHeightInPoints 20)// 内容的背景设置成绿色 IndexedColors.GREEN.getIndex() ContentStyle(fillPatternType FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor 17)// 内容字体设置成 20 ContentFontStyle(fontHeightInPoints 20) public class FormatStyleCellItem {// 字符串的头背景设置成粉红 IndexedColors.PINK.getIndex() HeadStyle(fillPatternType FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor 14)// 字符串的头字体设置成 20HeadFontStyle(fontHeightInPoints 30)// 字符串的内容的背景设置成天蓝 IndexedColors.SKY_BLUE.getIndex() ContentStyle(fillPatternType FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor 40) // 字符串的内容字体设置成 20ContentFontStyle(fontHeightInPoints 30)ExcelProperty(字符串标题)private String string;ExcelProperty(日期标题)private Date date;ExcelProperty(数字标题)private Double doubleData; }结果为 类对象定义格式 这种方式可以说是纯手工组装数据了使用的是com.alibaba.excel.metadata.data.WriteCellData类这个类相当于是单元格的定义通过设置com.alibaba.excel.enums.CellDataTypeEnum枚举类型的 type 属性可以指明当前单元格格式。 守恒定律一直存在。这种方式灵活度很高可以精细到具体的单元格格式但是繁琐程度也增加了。 超链接 超链接使用的是com.alibaba.excel.metadata.data.HyperlinkData类需要设置地址、超链类型com.alibaba.excel.metadata.data.HyperlinkData.HyperlinkType枚举然后将值写入到WriteCellData对象的hyperlinkData属性即可。 // 设置超链接HyperlinkData hyperlinkDatanew HyperlinkData();hyperlinkData.setAddress(https://www.howardliu.cn);hyperlinkData.setHyperlinkType(HyperlinkType.URL);WriteCellDataString hyperlinknew WriteCellData(网站);hyperlink.setHyperlinkData(hyperlinkData);备注 备注使用的是com.alibaba.excel.metadata.data.CommentData类需要设置作者、备注内容com.alibaba.excel.metadata.data.RichTextStringData类型因为备注的默认大小是单元格大小如果感觉太小还可以设置相对高度和宽度。 // 设置备注CommentData commentDatanew CommentData();commentData.setAuthor(Howard Liu); commentData.setRichTextStringData(new RichTextStringData(这是一个备注)); // 备注的默认大小是按照单元格的大小 这里想调整到 4 个单元格那么大 所以向后 向下 各额外占用了一个单元格 commentData.setRelativeLastColumnIndex(1);commentData.setRelativeLastRowIndex(1); WriteCellDataString comment new WriteCellData(备注的单元格信息); comment.setCommentData(commentData);公式 公式使用的是com.alibaba.excel.metadata.data.FormulaData类可以直接设置formulaValue公式不过官方不太推荐使用公式。 // 设置公式 FormulaData formulaData new FormulaData(); // 将 123456789 中的第一个数字替换成 // 2// 这里只是例子 如果真的涉及到公式 能内存算好尽量内存算好 公式能不用尽量不用 formulaData.setFormulaValue(REPLACE(123456789,1,1,2));WriteCellDataString formula new WriteCellData();formula.setFormulaData(formulaData);单元格格式 通过类定义单元格格式与通过注解定义本质是一样的。所以与注解HeadStyle、HeadFontStyle、ContentStyle、ContentFontStyle对应设置单元格格式的类是WriteCellStyle设置字体的类是WriteFont。其中这些类的属性与注解的也是类似不再赘述太多直接上例子。其实我觉得使用类定义格式的场景不多真的碰到了看看类定义就明白了 // 设置单个单元格的样式 当然样式 很多的话 也可以用注解等方式。 WriteCellStyle writeCellStyleDatanew WriteCellStyle(); // 这里需要指定 FillPatternType 为 FillPatternType.SOLID_FOREGROUND 不然无法显示背景颜色。writeCellStyleData.setFillPatternType(FillPatternType.SOLID_FOREGROUND); // 背景绿色writeCellStyleData.setFillForegroundColor(IndexedColors.GREEN.getIndex());WriteCellDataString writeCellStylenew WriteCellData(单元格样式);writeCellStyle.setWriteCellStyle(writeCellStyleData);writeCellStyle.setType(CellDataTypeEnum.STRING); // 设置单个单元格多种样式RichTextStringData richTextStringDatanew RichTextStringData();richTextStringData.setTextString(红色绿色默认); // 前 2 个字红色WriteFont writeFontnew WriteFont();writeFont.setColor(IndexedColors.RED.getIndex());richTextStringData.applyFont(0,2,writeFont); // 接下来 2 个字绿色writeFontnew WriteFont();writeFont.setColor(IndexedColors.GREEN.getIndex());richTextStringData.applyFont(2,4,writeFont);WriteCellDataString richTestnew WriteCellData();richTest.setType(CellDataTypeEnum.RICH_TEXT_STRING);richTest.setRichTextStringDataValue(richTextStringData);结果为
http://www.zqtcl.cn/news/922448/

相关文章:

  • 国外案例网站做电商网站有什么用
  • 自己做的网站点击赚钱免费制作二级网站
  • 产品包装设计网站网站开发所需费用
  • 新手学做百度联盟网站html水平导航栏怎么做
  • 单页网站排名seo营销软件
  • 网站建设项目报告书广州品牌网站设计价格
  • 阜阳市建设工程网站wordpress三栏博客主题
  • 邢台学校网站建设制作游戏需要多少钱
  • 品牌做网站网上接外包项目
  • 购物网站设计图百安居装修报价清单
  • 做网站要提供什么莱芜综合频道莱芜新闻
  • 网站怎么做前后台存取马鞍山市网站建设公司
  • 北京西站到北京南站软件定制外包公司
  • 网站开发手机端游戏网站设计风格有哪些
  • 网站建设开发感想网站建设公司接单
  • 建立网站后怎样收费吗设计图纸网站
  • asp网站密码从零开始做一个网站需要多少钱
  • 网站建设中需求分析报告微信 网站 优劣势
  • 湖南建设长沙网站建设价格关于网站的建设论文
  • 玉林网站制作网站建设的常用词
  • linux系统网站空间用凡科做网站的费用
  • 如何给别人做网站百度推广助手app
  • 哈市哪里网站做的好新颖的网站策划
  • 网站建设 方案书微信登录wordpress免费
  • 兰州网站建设企业名录洛可可设计公司估值
  • 广州做网站地方兰州做网站的公司有哪些
  • 招标网站哪个好适合学生做网站的图片
  • 台州seo网站排名优化外包服务公司
  • 汉川网站推广服务网页站点不安全
  • wdcp网站搬家嘉兴做网站优化的公司