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<title.length;i++) {
			XSSFCell cell = (XSSFCell) row0.createCell(i);
            cell.setCellValue(title[i]);
		}
		try {
			workbook.write(baos); // write excel data to a byte array
			baos.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("创建成功 office excel");
		return baos;
	}
}

Java 邮件发送附件:

经验分享 程序员 微信小程序 职场和发展