用JAVA Spring Mail 发送HTML格式的邮件,样式丢失的问题

 QQ邮箱网页版打开HTML邮件是正常的,用PC版foxmail或者手机QQ邮箱APP打开是不正常的,排版很乱。

主要原因:(主要是浮动样式 不会起作用)

  • 使用邮件客户端查看邮件,哪怕只是在网页上看邮件,你的邮件也不要用DIV去做,要用TABLE;
  • 不能用外部调用样式,不能用内部页面样式,只能用行内样式 ;
  • 使用图片只能插入使用,不能当背景属性使用;
  • 浮动浮动属性一概不能用;用了也达不到左浮动右浮动的效果查看邮件的客户端会自动过滤掉你的样式,以邮件的样式为主。

这是用foxMail客户端打开的邮件,没有用表,而是用了div加左右浮动的样式

 

这是用表之后,并且把样式写在行内样式

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Java EasyExcel 是一个非常方便的 Excel 操作工具,支持读写 Excel 文件,包括导入和导出。在使用 EasyExcel 进行导出时,如果您想要设置富文本样式,可以通过以下方式实现: 1. 在实体类中使用 `@ExcelProperty` 注解定义要导出的字段,并通过 `@ContentStyle` 注解指定富文本样式。 例如: ```java public class DemoData { @ExcelProperty(value = "姓名") private String name; @ExcelProperty(value = "内容") @ContentStyle(fillPatternType = FillPatternType.SOLID_FOREGROUND, fillForegroundColor = 10) private String content; // getter 和 setter 方法省略 } ``` 在上述代码中,`@ContentStyle` 注解指定了 `FillPatternType.SOLID_FOREGROUND` 填充模式和 `fillForegroundColor = 10` 背景颜色,从而实现了富文本样式的设置。您可以根据自己的需求设置其他样式。 2. 在导出 Excel 文件时,使用 `write` 方法将数据写入到文件,并通过 `SheetBuilder.head` 方法指定表头信息。 例如: ```java public static void writeExcelWithStyle() { String fileName = "demo.xlsx"; try { OutputStream out = new FileOutputStream(fileName); List<DemoData> data = getData(); ExcelWriter writer = EasyExcel.write(out).build(); Sheet sheet = new Sheet.Builder().sheetName("sheet1").build(); writer.write(data, sheet.head(head()).build()); writer.finish(); } catch (FileNotFoundException e) { e.printStackTrace(); } } private static List<List<String>> head() { List<List<String>> head = new ArrayList<>(); List<String> head0 = new ArrayList<>(); head0.add("姓名"); List<String> head1 = new ArrayList<>(); head1.add("内容"); head.add(head0); head.add(head1); return head; } private static List<DemoData> getData() { List<DemoData> data = new ArrayList<>(); DemoData demoData = new DemoData(); demoData.setName("张三"); demoData.setContent("这是一段带有富文本样式的内容"); data.add(demoData); return data; } ``` 在上述代码中,`SheetBuilder.head` 方法中的 `head()` 方法指定了表头信息,其中包括了要导出的字段名和样式信息。 通过以上方式,您可以实现 EasyExcel 富文本样式的设置。如果您的样式还是不生效,可以检查一下是否存在其他代码问题

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值