linux脚本的数据输出到excel,使用shell实现Excel表格导出功能 | 剑花烟雨江南
在Web項(xiàng)目中,我們經(jīng)常會(huì)遇到Excel表格導(dǎo)出的功能,對(duì)于一些數(shù)據(jù)實(shí)時(shí)性要求不高的、邏輯相對(duì)簡(jiǎn)單的導(dǎo)出,是否可用通過shell腳本的方式來進(jìn)行導(dǎo)出,從而降低開發(fā)成本呢?
我們都知道,CSV格式可以用Excel表打開,且CSV格式的本質(zhì)是以“,”為分隔符的文本,那么我們?cè)趕ql的字段之間加入","即可以CSV格式的文件進(jìn)行輸出。
下面,我們使用shell腳本來實(shí)現(xiàn):
#!/bin/bash
#文件保存路徑
exportdata_dir?=?/data/export
#獲取日期
dd?=?`data?+?%Y%m%d`
#數(shù)據(jù)庫(kù)信息
#數(shù)據(jù)庫(kù)用戶名
username?=?'root'
#數(shù)據(jù)庫(kù)密碼?可以放在文件內(nèi)
password?=?'root'
#數(shù)據(jù)庫(kù)名
database_name?=?'export_test'
#數(shù)據(jù)庫(kù)之地
host?=?'127.0.0.1'
#如果文件夾不存在則創(chuàng)建
if?[?!?-d?$exportdata_dir?];
then
mkdir?-p?$exportdata_dir;
fi
#導(dǎo)出訂單的sql
order_sql?=?'';
order_file?=?'訂單'
#導(dǎo)出文件
/usr/local/mysql/bin/mysql?-h?$host?-u$username?-p$password?$database_name?-e?"$order_sql"?>?$exportdata_dir/$order_file.csv
#如果文件已生成則刪除
if?[?-f?$exportdata_dir/$order_file'_'$dd.csv];
then
rm?-rf?$exportdata_dir/$order_file'_'$dd.csv;
fi
#轉(zhuǎn)碼
iconv?-f?"utf-8"?-t?"gbk"?-c?$exportdata_dir/$order_file.csv?>?$exportdata_dir/$order_file'_'$dd.csv;
rm?-rf?$exportdata_dir/$order_file.csv
這樣我們使用 centos 的crontab 定時(shí)任務(wù)執(zhí)行shell腳本即可完成Excel的定時(shí)生成,如果需要進(jìn)行用戶下載,在后臺(tái)代碼中遍歷 exportdata_dir 下的文件,提供下載功能即可。
總結(jié)
以上是生活随笔為你收集整理的linux脚本的数据输出到excel,使用shell实现Excel表格导出功能 | 剑花烟雨江南的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux scp密码参数,使用scp命
- 下一篇: linux无密码sudo,在Linux系