网站首页 > java教程 正文
1、MySQL
方式1:
select * into outfile 'E:\\xxx\\test.csv'
fields terminated by ','
lines terminated by '\n'
from (select *from test) b;
方式2:
mysql -uroot test -e "sql语句" -N -s | sed -e 's/^/"/g;s/$/"\n/g' > /tmp/test.csv
#或者
mysql -uroot test -e "sql语句" > /tmp/test.csv
2、PHP
查询数据,通过逗号拼接字段数据,\n分割每一行数据
<?php
$host = 'localhost';
$user = '用户名';
$password = '密码';
$database = 'test';
$port = '端口';
$conn = mysqli_init();
$conn->connect($host, $user, $password, $database, $port);
// SQL字段
$sql = 'select id,`name`,course,score from score';
$query = $conn->query($sql);
$data = [];
while ($row = $query->fetch_array(MYSQLI_NUM)) {
$data[] = $row;
}
$content = "id,name,course,score\n";
foreach ($data as $d) {
$content .= implode(',', $d) . "\n";
}
file_put_contents('file.csv', $content);
// 如果数据量大的话,请将数据循环写入文件,
// 而不是通过file_put_contents一次性写入文件
3、Go
下载github.com/tealeg/xlsx包,然后进行数据处理,另存为xlsx后缀的文件
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/tealeg/xlsx"
"strconv"
"time"
)
// mysql操作:https://www.jianshu.com/p/9b5cd762e256
// excel操作;https://studygolang.com/articles/5259
const (
DRIVER = "mysql"
USERNAME = "用户名"
PASSWORD = "密码"
HOST = "localhost"
PORT = "端口"
DATABASE = "test"
CHARSET = "utf8"
)
var db *sql.DB
var err error
type Score struct {
Id int64
Name string
Course string
Score int64
}
// db连接
func DbConn() {
dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=%s", USERNAME, PASSWORD, HOST, PORT, DATABASE, CHARSET)
db, err = sql.Open(DRIVER, dsn)
if err != nil {
panic("数据源配置不正确:" + err.Error())
}
db.SetMaxOpenConns(100) // 最大连接数
db.SetMaxIdleConns(20) // 闲置连接数
db.SetConnMaxLifetime(100 * time.Second) // 最大连接周期
if err = db.Ping(); err != nil {
panic("数据库连接失败:" + err.Error())
}
}
var data = make([]Score, 0)
// 从db获取数据
func GetDataFromDb() {
sqlstr := "select * from score"
rows, _ := db.Query(sqlstr)
var result Score
for rows.Next() {
rows.Scan(&result.Id, &result.Name, &result.Course, &result.Score)
data = append(data, result)
}
//fmt.Println(data)
//fmt.Printf("%+v", data)
}
// 导出到csv文件
func ExportToCsvFile() {
file := xlsx.NewFile()
sheet, _ := file.AddSheet("Sheet1")
//row := sheet.AddRow()
//row.SetHeightCM(1) //设置每行的高度
//cell := row.AddCell()
//cell.Value = "hello"
//cell = row.AddCell()
//cell.Value = "world"
row := sheet.AddRow()
cell := row.AddCell()
cell.Value = "Id"
cell = row.AddCell()
cell.Value = "Name"
cell = row.AddCell()
cell.Value = "Course"
cell = row.AddCell()
cell.Value = "Score"
for _, item := range data {
row = sheet.AddRow()
cell = row.AddCell()
cell.Value = strconv.FormatInt(item.Id, 10)
cell = row.AddCell()
cell.Value = item.Name
cell = row.AddCell()
cell.Value = item.Course
cell = row.AddCell()
cell.Value = strconv.FormatInt(item.Score, 10)
}
err := file.Save("file.xlsx")
if err != nil {
panic(err)
}
}
func main() {
DbConn() //数据库连接
GetDataFromDb() // 从数据库获取数据
ExportToCsvFile() // 导出到csv文件
}
猜你喜欢
- 2025-07-21 如何将 iPhone 中的联系人导出到 Excel/CSV?
- 2025-07-21 sql查询的字段数据中有逗号。放到csv文件会分开,如何解决?
- 2025-07-21 在 WebAPI 里生成 csv zip 文件(webapi怎么发布在iis上)
- 2025-07-21 如何把csv格式转换成Excel格式(csv格式怎么转换)
- 2025-07-21 如何将高程导出为XYZ或CSV高程点(如何将高程数据导入cad)
- 2025-07-21 使用python把csv汇总成excel(python怎么将csv文件中的列存入列表)
- 2025-07-21 解决PHP导出CSV文件中文乱码问题(php导出excel文件)
- 2025-07-21 使用vba将Excel 文件转成 CSV 文件
- 2025-07-21 python爬虫25 | 爬取的数据怎么保存?CSV了解一下
- 2025-07-21 MySQL 导出数据(mysql 导出数据 判断成功)
你 发表评论:
欢迎- 07-21如何将 iPhone 中的联系人导出到 Excel/CSV?
- 07-21sql查询的字段数据中有逗号。放到csv文件会分开,如何解决?
- 07-21在 WebAPI 里生成 csv zip 文件(webapi怎么发布在iis上)
- 07-21如何把csv格式转换成Excel格式(csv格式怎么转换)
- 07-21如何将高程导出为XYZ或CSV高程点(如何将高程数据导入cad)
- 07-21使用python把csv汇总成excel(python怎么将csv文件中的列存入列表)
- 07-21解决PHP导出CSV文件中文乱码问题(php导出excel文件)
- 07-21使用vba将Excel 文件转成 CSV 文件
- 最近发表
-
- 如何将 iPhone 中的联系人导出到 Excel/CSV?
- sql查询的字段数据中有逗号。放到csv文件会分开,如何解决?
- 在 WebAPI 里生成 csv zip 文件(webapi怎么发布在iis上)
- 如何把csv格式转换成Excel格式(csv格式怎么转换)
- 如何将高程导出为XYZ或CSV高程点(如何将高程数据导入cad)
- 使用python把csv汇总成excel(python怎么将csv文件中的列存入列表)
- 解决PHP导出CSV文件中文乱码问题(php导出excel文件)
- 使用vba将Excel 文件转成 CSV 文件
- python爬虫25 | 爬取的数据怎么保存?CSV了解一下
- MySQL 导出数据(mysql 导出数据 判断成功)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)