当前位置:   article > 正文

java发送邮件 携带excel附件_xssfworkbook导出excel作为邮件附件

xssfworkbook导出excel作为邮件附件

poi的介绍我就不多说了,详情见:

https://blog.csdn.net/fz13768884254/article/details/82706936

https://blog.csdn.net/fz13768884254/article/details/82703959

代码如下:

  1. import base.BaseTest;
  2. import org.apache.poi.hssf.usermodel.HSSFCell;
  3. import org.apache.poi.hssf.usermodel.HSSFRow;
  4. import org.apache.poi.hssf.usermodel.HSSFSheet;
  5. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  6. import org.junit.Test;
  7. import org.springframework.core.io.ByteArrayResource;
  8. import org.springframework.core.io.InputStreamSource;
  9. import javax.annotation.Resource;
  10. import javax.mail.MessagingException;
  11. import java.io.ByteArrayOutputStream;
  12. import java.io.IOException;
  13. import java.text.SimpleDateFormat;
  14. import java.util.Calendar;
  15. import java.util.Date;
  16. /**
  17. * @description: 测试发送邮件
  18. * @author: fengze
  19. * @create: 2018-04-13 21:25
  20. **/
  21. public class TestEmail extends BaseTest {
  22. @Resource
  23. private JavaMailSenderImpl javaMailSender;
  24. @Resource
  25. private EmailConfig emailConfig;
  26. @Test
  27. public void sendMailWithExcel() throws IOException, MessagingException {
  28. String[] headers = {"col1","col2","col3"};
  29. // 声明一个工作薄
  30. HSSFWorkbook wb = new HSSFWorkbook();
  31. // 生成一个表格
  32. HSSFSheet sheet = wb.createSheet();
  33. HSSFRow row = sheet.createRow(0);
  34. for (int i = 0; i < headers.length; i++) {
  35. HSSFCell cell = row.createCell(i);
  36. cell.setCellValue(headers[i]);
  37. }
  38. int rowIndex = 1;
  39. for(int j=0; j<3; j++){
  40. row = sheet.createRow(rowIndex);
  41. rowIndex++;
  42. HSSFCell cell1 = row.createCell(0);
  43. cell1.setCellValue(j);
  44. cell1 = row.createCell(1);
  45. cell1.setCellValue(j+1);
  46. cell1 = row.createCell(2);
  47. cell1.setCellValue(j+2);
  48. }
  49. for (int i = 0; i < headers.length; i++) {
  50. sheet.autoSizeColumn(i);
  51. }
  52. ByteArrayOutputStream os = new ByteArrayOutputStream(1000);
  53. wb.write(os);
  54. wb.close();
  55. InputStreamSource iss = new ByteArrayResource(os.toByteArray());
  56. os.close();
  57. sendAttachmentsMail("收件人邮箱","抄送",
  58. "主题",
  59. "邮件内容",
  60. iss, "excel名");
  61. }
  62. public boolean sendAttachmentsMail(String to,String cc, String subject, String content, InputStreamSource file, String fileName) throws MessagingException {
  63. MimeMessage message = javaMailSender.createMimeMessage();
  64. MimeMessageHelper smm = new MimeMessageHelper(message, true);
  65. javaMailSender.setUsername("邮箱");
  66. javaMailSender.setPassword("密码"));
  67. //发件人
  68. smm.setFrom(javaMailSender.getUsername());
  69. //收件人
  70. smm.setTo(to);
  71. //抄送
  72. if (!Objects.isNull(cc)) {
  73. smm.setCc(cc);
  74. }
  75. //主题
  76. smm.setSubject(subject);
  77. //内容
  78. smm.setText(content);
  79. smm.addAttachment(fileName,file);
  80. try {
  81. javaMailSender.send(message);
  82. return true;
  83. } catch (MailException e) {
  84. logger.error("邮件发送错误:{}", e);
  85. }
  86. return false;
  87. }
  88. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/591901
推荐阅读
相关标签
  

闽ICP备14008679号