增加导出数据到Excel的方法
This commit is contained in:
25
README.md
25
README.md
@@ -67,10 +67,20 @@
|
||||
### 8. 短信工具 (sms)
|
||||
提供阿里云短信发送功能,支持模板短信和批量发送,使用Go标准库实现。
|
||||
|
||||
### 9. 工厂工具 (factory)
|
||||
提供从配置文件直接创建已初始化客户端对象的功能,包括数据库、Redis、邮件、短信、日志等,避免调用方重复实现创建逻辑。
|
||||
### 9. Excel导出工具 (excel)
|
||||
提供数据导出到Excel文件的功能,支持结构体切片、自定义格式化、多工作表等特性。
|
||||
|
||||
### 10. 日志工具 (logger)
|
||||
**功能特性**:
|
||||
- 支持结构体切片自动导出
|
||||
- 支持嵌套字段访问(如 "User.Name")
|
||||
- 支持自定义格式化函数
|
||||
- 自动调整列宽和表头样式
|
||||
- 支持导出到文件或HTTP响应
|
||||
|
||||
### 10. 工厂工具 (factory)
|
||||
提供从配置文件直接创建已初始化客户端对象的功能,包括数据库、Redis、邮件、短信、日志、Excel等,避免调用方重复实现创建逻辑。
|
||||
|
||||
### 11. 日志工具 (logger)
|
||||
提供统一的日志记录功能,支持多种日志级别和输出方式,使用Go标准库实现。
|
||||
|
||||
---
|
||||
@@ -90,6 +100,7 @@
|
||||
| 邮件 | `SendEmail()` | 直接调用 | ⭐⭐⭐ |
|
||||
| 短信 | `SendSMS()` | 直接调用 | ⭐⭐⭐ |
|
||||
| 存储 | `UploadFile()`, `GetFileURL()` | 直接调用 | ⭐⭐⭐ |
|
||||
| Excel导出 | `ExportToExcel()`, `ExportToExcelFile()` | 直接调用 | ⭐⭐⭐ |
|
||||
| **Get方法(高级功能)** | | | |
|
||||
| 数据库 | `GetDatabase()` | 返回GORM对象,用于复杂查询 | ⭐⭐ |
|
||||
| Redis高级 | `GetRedisClient()` | 返回Redis客户端,用于Hash/List/Set等 | ⭐ |
|
||||
@@ -277,6 +288,14 @@ fac.SendSMS([]string{"13800138000"}, map[string]string{"code": "123456"})
|
||||
// 文件上传
|
||||
url, _ := fac.UploadFile(ctx, "images/test.jpg", file, "image/jpeg")
|
||||
|
||||
// Excel导出
|
||||
columns := []factory.ExportColumn{
|
||||
{Header: "ID", Field: "ID", Width: 10},
|
||||
{Header: "姓名", Field: "Name", Width: 20},
|
||||
{Header: "邮箱", Field: "Email", Width: 30},
|
||||
}
|
||||
fac.ExportToExcelFile("users.xlsx", "用户列表", columns, users)
|
||||
|
||||
// 数据库(高级功能)
|
||||
db, _ := fac.GetDatabase()
|
||||
db.Find(&users)
|
||||
|
||||
Reference in New Issue
Block a user