open_lark/service/cloud_docs/sheets/v3/
mod.rs

1use crate::core::config::Config;
2
3/// 条件格式化功能
4pub mod condition_format;
5/// 数据操作功能
6pub mod data_operation;
7/// 数据验证功能
8pub mod data_validation;
9/// 浮动图片功能
10pub mod float_image;
11/// 保护区域功能
12pub mod protect_range;
13/// 行列操作功能
14pub mod sheet_row_col;
15/// 电子表格功能
16pub mod spreadsheet;
17/// 工作表功能
18pub mod spreadsheet_sheet;
19/// 工作表筛选功能
20pub mod spreadsheet_sheet_filter;
21/// 工作表筛选视图功能
22pub mod spreadsheet_sheet_filter_view;
23/// 工作表筛选视图条件功能
24pub mod spreadsheet_sheet_filter_view_condition;
25
26/// Sheets API v3版本服务集合
27///
28/// 提供电子表格的完整功能集,包括数据操作、格式设置、筛选、保护等高级特性。
29/// v3版本相比v2版本提供了更丰富的功能和更好的性能。
30///
31/// # 主要功能模块
32///
33/// - **spreadsheet**: 电子表格的创建、删除、获取等基础操作
34/// - **spreadsheet_sheet**: 工作表的管理和操作
35/// - **data_operation**: 数据的读写、查找、替换等操作
36/// - **sheet_row_col**: 行列的插入、删除、调整等操作
37/// - **spreadsheet_sheet_filter**: 工作表筛选功能
38/// - **spreadsheet_sheet_filter_view**: 筛选视图管理
39///
40/// # 使用示例
41///
42/// ```rust
43/// use open_lark::prelude::*;
44///
45/// let client = LarkClient::builder("app_id", "app_secret")
46///     .with_app_type(AppType::SelfBuild)
47///     .build();
48///
49/// // 使用v3版本API
50/// let sheets_v3 = &client.sheets.v3;
51///
52/// // 创建电子表格
53/// // let create_req = CreateSpreadsheetRequest::builder()
54/// //     .title("数据统计表")
55/// //     .build();
56/// // let response = sheets_v3.spreadsheet.create(create_req, None).await?;
57/// ```
58pub struct V3 {
59    /// 电子表格服务 - 管理电子表格的生命周期
60    pub spreadsheet: SpreadsheetService,
61    /// 工作表服务 - 管理工作表的操作
62    pub spreadsheet_sheet: SpreadsheetSheetService,
63    /// 工作表筛选服务 - 提供数据筛选功能
64    pub spreadsheet_sheet_filter: SpreadsheetSheetFilterService,
65    /// 工作表筛选视图服务 - 管理筛选视图
66    pub spreadsheet_sheet_filter_view: SpreadsheetSheetFilterViewService,
67    /// 数据操作服务 - 处理数据的读写和操作
68    pub data_operation: DataOperationService,
69    /// 行列操作服务 - 管理行列的结构
70    pub sheet_row_col: SheetRowColService,
71}
72
73impl V3 {
74    /// 创建新的V3版本服务实例
75    ///
76    /// # 参数
77    /// - `config`: 客户端配置,包含认证信息和API设置
78    ///
79    /// # 返回值
80    /// 配置完成的V3服务实例,包含所有子服务模块
81    pub fn new(config: Config) -> Self {
82        Self {
83            spreadsheet: SpreadsheetService::new(config.clone()),
84            spreadsheet_sheet: SpreadsheetSheetService::new(config.clone()),
85            spreadsheet_sheet_filter: SpreadsheetSheetFilterService::new(config.clone()),
86            spreadsheet_sheet_filter_view: SpreadsheetSheetFilterViewService::new(config.clone()),
87            data_operation: DataOperationService::new(config.clone()),
88            sheet_row_col: SheetRowColService::new(config),
89        }
90    }
91}
92
93/// 电子表格服务
94///
95/// 提供电子表格的完整生命周期管理,包括创建、获取、更新、删除等操作。
96/// 支持表格属性设置、权限管理和元数据操作。
97///
98/// # 主要功能
99///
100/// - 📊 创建新的电子表格
101/// - 📋 获取表格基本信息和元数据
102/// - ✏️ 更新表格属性(标题、描述等)
103/// - 🗑️ 删除电子表格
104/// - 🔐 管理表格访问权限
105/// - 📁 设置表格所属文件夹
106///
107/// # 使用场景
108///
109/// - 自动化报表生成
110/// - 数据导入导出工具
111/// - 批量表格管理
112/// - 权限控制系统
113pub struct SpreadsheetService {
114    config: Config,
115}
116
117impl SpreadsheetService {
118    /// 创建新的电子表格服务实例
119    ///
120    /// # 参数
121    /// - `config`: 客户端配置
122    pub fn new(config: Config) -> Self {
123        Self { config }
124    }
125}
126
127/// 工作表服务
128///
129/// 管理电子表格内的工作表(Sheet),支持工作表的创建、删除、重命名、
130/// 复制等操作,以及工作表属性的设置。
131///
132/// # 主要功能
133///
134/// - 📄 创建新工作表
135/// - 📝 重命名工作表
136/// - 📋 复制工作表
137/// - 🗑️ 删除工作表
138/// - 🎨 设置工作表属性(颜色、保护等)
139/// - 📐 调整工作表大小
140/// - 🔄 移动工作表位置
141///
142/// # 使用场景
143///
144/// - 多Sheet数据分类管理
145/// - 模板工作表复制
146/// - 动态工作表结构调整
147/// - 工作表权限控制
148pub struct SpreadsheetSheetService {
149    config: Config,
150}
151
152impl SpreadsheetSheetService {
153    /// 创建新的工作表服务实例
154    ///
155    /// # 参数
156    /// - `config`: 客户端配置
157    pub fn new(config: Config) -> Self {
158        Self { config }
159    }
160}
161
162/// 工作表筛选服务
163///
164/// 提供工作表的数据筛选功能,支持创建、管理和应用筛选条件。
165/// 帮助用户快速定位和查看符合条件的数据。
166///
167/// # 主要功能
168///
169/// - 🔍 创建数据筛选器
170/// - ⚙️ 设置筛选条件
171/// - 🔄 更新筛选规则
172/// - 🗑️ 删除筛选器
173/// - 📋 获取筛选状态
174/// - 🎯 应用多条件筛选
175///
176/// # 筛选类型
177///
178/// - 数值筛选(大于、小于、等于等)
179/// - 文本筛选(包含、开始于、结束于等)
180/// - 日期筛选(日期范围、相对日期等)
181/// - 自定义筛选(正则表达式等)
182///
183/// # 使用场景
184///
185/// - 数据分析和报表
186/// - 大量数据快速筛选
187/// - 动态数据视图
188/// - 条件数据导出
189pub struct SpreadsheetSheetFilterService {
190    config: Config,
191}
192
193impl SpreadsheetSheetFilterService {
194    /// 创建新的工作表筛选服务实例
195    ///
196    /// # 参数
197    /// - `config`: 客户端配置
198    pub fn new(config: Config) -> Self {
199        Self { config }
200    }
201}
202
203/// 工作表筛选视图服务
204///
205/// 管理工作表的筛选视图,允许用户创建、保存和切换不同的筛选配置。
206/// 筛选视图是保存的筛选器配置,可以快速应用和分享。
207///
208/// # 主要功能
209///
210/// - 👁️ 创建筛选视图
211/// - 💾 保存筛选配置
212/// - 🔄 切换筛选视图
213/// - 📝 重命名筛选视图
214/// - 🗑️ 删除筛选视图
215/// - 👥 分享筛选视图
216/// - 📋 获取视图列表
217///
218/// # 视图特性
219///
220/// - 保存完整的筛选条件
221/// - 包含排序规则
222/// - 支持隐藏列配置
223/// - 可设置视图权限
224/// - 支持视图协作
225///
226/// # 使用场景
227///
228/// - 团队协作数据分析
229/// - 多维度数据查看
230/// - 数据视图模板化
231/// - 复杂筛选条件保存
232pub struct SpreadsheetSheetFilterViewService {
233    config: Config,
234}
235
236impl SpreadsheetSheetFilterViewService {
237    /// 创建新的工作表筛选视图服务实例
238    ///
239    /// # 参数
240    /// - `config`: 客户端配置
241    pub fn new(config: Config) -> Self {
242        Self { config }
243    }
244}
245
246/// 数据操作服务
247///
248/// 提供电子表格数据的核心操作功能,包括数据读写、查找替换、
249/// 样式设置、单元格合并等全面的数据处理能力。
250///
251/// # 主要功能
252///
253/// ## 数据读写
254/// - 📖 读取单个或多个范围数据
255/// - ✏️ 写入数据到指定范围
256/// - ➕ 在末尾追加数据
257/// - ⬆️ 在开头插入数据
258///
259/// ## 数据操作
260/// - 🔍 查找和替换数据
261/// - 🔗 合并和拆分单元格
262/// - 🎨 设置单元格样式
263/// - 🖼️ 插入图片和浮动图片
264///
265/// ## 批量操作
266/// - 📊 批量写入多个范围
267/// - 🎨 批量设置样式
268/// - 🔄 批量数据转换
269///
270/// # 支持的数据类型
271///
272/// - 文本和数字
273/// - 日期和时间
274/// - 布尔值
275/// - 公式
276/// - 超链接
277/// - 图片
278///
279/// # 使用场景
280///
281/// - 数据导入导出
282/// - 报表自动生成
283/// - 数据清洗和处理
284/// - 批量格式设置
285/// - 图表数据准备
286pub struct DataOperationService {
287    config: Config,
288}
289
290impl DataOperationService {
291    /// 创建新的数据操作服务实例
292    ///
293    /// # 参数
294    /// - `config`: 客户端配置
295    pub fn new(config: Config) -> Self {
296        Self { config }
297    }
298}
299
300/// 行列操作服务
301///
302/// 管理工作表的行列结构,支持插入、删除、调整行列大小等操作。
303/// 提供灵活的表格布局控制能力。
304///
305/// # 主要功能
306///
307/// ## 行操作
308/// - ➕ 插入新行
309/// - 🗑️ 删除指定行
310/// - 📏 调整行高
311/// - 👁️ 隐藏/显示行
312/// - 🔒 冻结行
313///
314/// ## 列操作
315/// - ➕ 插入新列
316/// - 🗑️ 删除指定列
317/// - 📐 调整列宽
318/// - 👁️ 隐藏/显示列
319/// - 🔒 冻结列
320///
321/// ## 批量操作
322/// - 📊 批量调整尺寸
323/// - 🔄 批量隐藏/显示
324/// - ➕ 批量插入
325/// - 🗑️ 批量删除
326///
327/// # 使用场景
328///
329/// - 动态表格结构调整
330/// - 数据展示优化
331/// - 表格模板创建
332/// - 大数据表格管理
333/// - 用户界面布局控制
334pub struct SheetRowColService {
335    #[allow(dead_code)]
336    config: Config,
337}
338
339impl SheetRowColService {
340    /// 创建新的行列操作服务实例
341    ///
342    /// # 参数
343    /// - `config`: 客户端配置
344    pub fn new(config: Config) -> Self {
345        Self { config }
346    }
347}