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.clone()),
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 {
124            config: config.clone(),
125        }
126    }
127}
128
129/// 工作表服务
130///
131/// 管理电子表格内的工作表(Sheet),支持工作表的创建、删除、重命名、
132/// 复制等操作,以及工作表属性的设置。
133///
134/// # 主要功能
135///
136/// - 📄 创建新工作表
137/// - 📝 重命名工作表
138/// - 📋 复制工作表
139/// - 🗑️ 删除工作表
140/// - 🎨 设置工作表属性(颜色、保护等)
141/// - 📐 调整工作表大小
142/// - 🔄 移动工作表位置
143///
144/// # 使用场景
145///
146/// - 多Sheet数据分类管理
147/// - 模板工作表复制
148/// - 动态工作表结构调整
149/// - 工作表权限控制
150pub struct SpreadsheetSheetService {
151    config: Config,
152}
153
154impl SpreadsheetSheetService {
155    /// 创建新的工作表服务实例
156    ///
157    /// # 参数
158    /// - `config`: 客户端配置
159    pub fn new(config: Config) -> Self {
160        Self {
161            config: config.clone(),
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///
189/// - 数据分析和报表
190/// - 大量数据快速筛选
191/// - 动态数据视图
192/// - 条件数据导出
193pub struct SpreadsheetSheetFilterService {
194    config: Config,
195}
196
197impl SpreadsheetSheetFilterService {
198    /// 创建新的工作表筛选服务实例
199    ///
200    /// # 参数
201    /// - `config`: 客户端配置
202    pub fn new(config: Config) -> Self {
203        Self {
204            config: config.clone(),
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///
232/// # 使用场景
233///
234/// - 团队协作数据分析
235/// - 多维度数据查看
236/// - 数据视图模板化
237/// - 复杂筛选条件保存
238pub struct SpreadsheetSheetFilterViewService {
239    config: Config,
240}
241
242impl SpreadsheetSheetFilterViewService {
243    /// 创建新的工作表筛选视图服务实例
244    ///
245    /// # 参数
246    /// - `config`: 客户端配置
247    pub fn new(config: Config) -> Self {
248        Self {
249            config: config.clone(),
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/// - 图片
286///
287/// # 使用场景
288///
289/// - 数据导入导出
290/// - 报表自动生成
291/// - 数据清洗和处理
292/// - 批量格式设置
293/// - 图表数据准备
294pub struct DataOperationService {
295    config: Config,
296}
297
298impl DataOperationService {
299    /// 创建新的数据操作服务实例
300    ///
301    /// # 参数
302    /// - `config`: 客户端配置
303    pub fn new(config: Config) -> Self {
304        Self {
305            config: config.clone(),
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/// - 🔄 批量隐藏/显示
334/// - ➕ 批量插入
335/// - 🗑️ 批量删除
336///
337/// # 使用场景
338///
339/// - 动态表格结构调整
340/// - 数据展示优化
341/// - 表格模板创建
342/// - 大数据表格管理
343/// - 用户界面布局控制
344pub struct SheetRowColService {
345    #[allow(dead_code)]
346    config: Config,
347}
348
349impl SheetRowColService {
350    /// 创建新的行列操作服务实例
351    ///
352    /// # 参数
353    /// - `config`: 客户端配置
354    pub fn new(config: Config) -> Self {
355        Self {
356            config: config.clone(),
357        }
358    }
359}