将mysql数据库的数据导出做成excl表格通过邮件发送附件发给指定人
mysql数据库的数据导出成excl表
方法一:
mysql -uroot -p123456 -e “select *.* from 表 into outfile ‘文件路径.xls’
into outfile 将输出的数据导入到指定文件里以.xls结尾。需要开启secure-file-priv 默认只能将文件导入到/var/lib/mysql-files目录下。
此种方式导出的纯数据,没有表结构
方法二:
mysql -uroot -p123456 -e "select *。* from 表" > /bash/mysqlsql/sql.csv >/dev/null
将输出的数据重定向到一个文件里,以.csv结尾
awk '{print $1","$2","$3","$4","$5","$6 > "/bash/mysqlsql/sql1.csv"}' /bash/mysqlsql/sql.csv
将表的分隔符换成“,” (因为csv表格的分割符是逗号)
转换字符编码 linux使用的字符集是utf-8 windows使用的是GBK
iconv -f UTF- -t GBK 转换后的文件 -o 源文件
-f -t 将UTF-8格式的 转换成GBK的
将文件定义成附件发送
使用python邮件
import smtplib
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication if __name__ == '__main__':
fromaddr = '发件人邮箱'
password = '密码'
toaddrs = ['收件人邮箱','可定义多人'] content = '邮件内容'
textApart = MIMEText(content)
#发送图片附件
imageFile = '图片路径'
imageApart = MIMEImage(open(imageFile, 'rb').read(), imageFile.split('.')[-1])
imageApart.add_header('Content-Disposition', 'attachment', filename=imageFile)
#发送文本附件
pdfFile = '文本路径'
pdfApart = MIMEApplication(open(pdfFile, 'rb').read())
pdfApart.add_header('Content-Disposition', 'attachment', filename=pdfFile) #发送压缩包附件
zipFile = '压缩包路径' zipApart = MIMEApplication(open(zipFile, 'rb').read()) zipApart.add_header('Content-Disposition', 'attachment', filename=zipFile) m = MIMEMultipart()
m.attach(textApart)
m.attach(imageApart) #发送图片附件,没有图片需要注释
m.attach(pdfApart) #发送文本附件,没有文本需要注释
m.attach(zipApart) #发送压缩包附件,没有压缩包需要注释
m['Subject'] = '邮件标题' try:
server = smtplib.SMTP_SSL('smtp.exmail.qq.com')
server.login(fromaddr,password)
server.sendmail(fromaddr, toaddrs, m.as_string())
print('success')
server.quit()
except smtplib.SMTPException as e:
print('error:',e) #打印错误
import smtplib
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication if __name__ == '__main__':
fromaddr = 'wangkang@innovationai.cn'
password = 'Wk17908452'
toaddrs = ['wangkang@innovationai.cn','yupanlong1@qq.com'] content = '邮件内容'
textApart = MIMEText(content) imageFile = '图片路径'
imageApart = MIMEImage(open(imageFile, 'rb').read(), imageFile.split('.')[-1])
imageApart.add_header('Content-Disposition', 'attachment', filename=imageFile) pdfFile = '文件路径'
pdfApart = MIMEApplication(open(pdfFile, 'rb').read())
pdfApart.add_header('Content-Disposition', 'attachment', filename=pdfFile) zipFile = '压缩包路径'
zipApart = MIMEApplication(open(zipFile, 'rb').read())
zipApart.add_header('Content-Disposition', 'attachment', filename=zipFile) m = MIMEMultipart()
m.attach(textApart)
m.attach(imageApart)
m.attach(pdfApart)
m.attach(zipApart)
m['Subject'] = '邮件标题' try:
server = smtplib.SMTP_SSL('smtp.exmail.qq.com')
server.login(fromaddr,password)
server.sendmail(fromaddr, toaddrs, m.as_string())
print('success')
server.quit()
except smtplib.SMTPException as e:
print('error:',e) #打印错误
将mysql数据库的数据导出做成excl表格通过邮件发送附件发给指定人的更多相关文章
- 一个php将数据库的数据导出到excle表格中的小dome
首先我们需要下载个PHPExcel,PHPExcel下载地址链接:https://pan.baidu.com/s/1nxpAc45 密码:qgct 下面来写个dome: <?php //把数据写 ...
- 将数据库中数据导出为excel表格
public class Excel { private static Logger logger = LoggerFactory.getLogger(Excel.class); /** * 导出项目 ...
- 从数据库将数据导出到excel表格
public class JxlExcel { public static void main(String[] args) { //创建Excel文件 String[] title= {" ...
- MySQL数据库使用mysqldump导出数据详解
mysqldump是mysql用于转存储数据库的实用程序.它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等.接下来通过本文给大家介绍MySQL数 ...
- linux mysql 数据库操作导入导出 数据表导出导入
linux mysql 数据库操作导入导出 数据表导出导入 1,数据库导入 mysql -uroot -p show databases; create database newdb; use 数据库 ...
- mysql数据库表结构导出
mysql数据库表结构导出 命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名; 导出整个数据库结构和数据 mysqldump -h localh ...
- Mysql 数据库导入及导出
Mysql 数据库导入及导出 数据库导出: 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u root -p dataname & ...
- Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作
Oracle中对数据对象和数据的管理,无疑都是使用PL/SQL Developer来进行管理,该工具也提供给我们很多方便.快捷的操作,使得我们不再为Oracle本身丑陋.难用的UI而抱怨.由于我们一般 ...
- [转]Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作
本文转自:http://www.cnblogs.com/wuhuacong/archive/2012/03/09/2387680.html Oracle中对数据对象和数据的管理,无疑都是使用PL/SQ ...
随机推荐
- vue+element-ui 项目中实现复制文字链接功能
需求: 点击复制按钮,复制一个链接 在GitHub上找到一个clipboard组件,功能比较齐全 使用方法: 安装 npm i clipboard --save HTML <template ...
- 工作总结 页面 ActionResult / JsonResult 将对象以 Json() 返回
其实都不用在页面上序列化 打印 都不需要在页面上 像这样 var ajaxResult = eval("(" + data + ")"); 序列化为对象 ...
- 微信公众号开发(三)—— access_token的管理
上一篇 微信公众号开发(二)—— 微信公众平台接入 让我们的本地工程顺利的接入到微信公众号系统, 那么接下啦我们介绍一个很重要的感念——acess_token (access_token是公众号的全局 ...
- 一图一知-TS之Interface接口
- 【Java 基础项目 - - Bank项目4】 对象构造/跨package调用
UML设计: 文件组织: (注: 在bank4中,直接调用bank3的内容, 不再重复编写代码即可!) 代码编写Bank.java: package Banking_4; import Banking ...
- python 前置程序窗口,还原最小化的窗口
python 前置程序窗口,还原最小化的窗口 在网上找了比较久,大多是: win32gui.FindWindow(class_name, window_name) win32gui.SetForegr ...
- Python GUI--Tkinter简单实现个性签名设计
一.Tkinter的介绍和简单教程Tkinter 是 Python 的标准 GUI 库.Python 使用 Tkinter 可以快速的创建 GUI 应用程序.由于 Tkinter 是内置到 pytho ...
- BZOJ1791 [Ioi2008]Island 岛屿[基环树+单调队列优化DP]
基环树直径裸题. 首先基环树直径只可能有两种形式:每棵基环树中的环上挂着的树的直径,或者是挂在环上的两个树的最大深度根之间的距离之和. 所以,先对每个连通块跑一遍,把环上的点找出来,然后对环上每个点跑 ...
- vue 多层组件相互嵌套的时候 数据源更新 dom没更新 彻底清除组件缓存
当项目中存在多层组件相互嵌套 组件存在严重缓存时 this.$nextTick(() => { ..... }); 不管用 this.$forceUpdate(); 不管用 只能通过深拷贝浅拷 ...
- 引爆炸弹——DFS&&联通块
题目 链接 在一个$n \times m$方格地图上,某些方格上放置着炸弹.手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上的所有炸弹引爆,被引爆的炸弹又能引爆其他炸弹,这样连锁下去. 现在为了引爆地 ...