java邮件中添加excel_Java以邮件附件的方式发送excel文件

思路:Java创建Excel,返回一个ByteArrayOutputStream 流   ==>   sendEmail()接受ByteArrayOutputStream 流以附件的形式发送出去

创建Excel表格:

public class CreatExcel {

public static ByteArrayOutputStream creatExcel(String[] title, JSONArray all) {

ByteArrayOutputStream baos = new ByteArrayOutputStream();

//创建一个表格

Workbook workbook = new XSSFWorkbook();

// 创建一个工作薄对象

XSSFSheet sheet = (XSSFSheet) workbook.createSheet("sheet1");

//设置首行

XSSFRow row0 = sheet.createRow(0);

for(int i=0;i

Java 邮件发送附件:

public class SendEmail {

public static boolean sendEmail(String to,ByteArrayOutputStream baos) {

// 发件人电子邮箱

String from = "*****@qq.com";

// 获取系统属性

Properties properties = System.getProperties();

// 设置邮件服务器 ->QQ 邮件服务器

properties.setProperty("mail.smtp.host", "smtp.qq.com");

properties.put("mail.smtp.auth", "true");

// 获取默认session对象

Session session = Session.getDefaultInstance(properties,new Authenticator(){

public PasswordAuthentication getPasswordAuthentication()

{

return new PasswordAuthentication("*******@qq.com", "******"); //发件人邮件用户名、授权码

}

});

try{

// 创建默认的 MimeMessage 对象

MimeMessage message = new MimeMessage(session);

// Set From: 头部头字段

message.setFrom(new InternetAddress(from));

// Set To: 头部头字段

message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));

// Set Subject: 头部头字段

message.setSubject("This is the Subject Line!");

/*添加附件*/

Multipart multipart = new MimeMultipart();

if(baos != null) {

MimeBodyPart fileBody = new MimeBodyPart();

DataSource source = new ByteArrayDataSource(baos.toByteArray(), "application/msexcel");

fileBody.setDataHandler(new DataHandler(source));

// 中文乱码问题

fileBody.setFileName(MimeUtility.encodeText("ww.xlsx"));

multipart.addBodyPart(fileBody);

}

message.setContent(multipart);

// 发送消息

Transport.send(message);

System.out.println("Sent message successfully....from runoob.com");

}catch (MessagingException mex) {

mex.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return false;

}

public static void main(String[] args) {

JSONArray all = new JSONArray();

String[] title = {"哈哈","hahahah"};

ByteArrayOutputStream baos = CreatExcel.creatExcel(title, all);

SendEmail.sendEmail("******@qq.com",baos);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值