gitee.com/larksuite/oapi-sdk-go/v3@v3.0.3/service/sheets/v3/model.go (about) 1 // Package sheets code generated by oapi sdk gen 2 /* 3 * MIT License 4 * 5 * Copyright (c) 2022 Lark Technologies Pte. Ltd. 6 * 7 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 8 * 9 * The above copyright notice and this permission notice, shall be included in all copies or substantial portions of the Software. 10 * 11 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 12 */ 13 14 package larksheets 15 16 import ( 17 "fmt" 18 19 "gitee.com/larksuite/oapi-sdk-go/v3/core" 20 ) 21 22 type AddSheet struct { 23 Title *string `json:"title,omitempty"` // 工作表标题 24 Index *int `json:"index,omitempty"` // 工作表位置 25 } 26 27 type AddSheetBuilder struct { 28 title string // 工作表标题 29 titleFlag bool 30 index int // 工作表位置 31 indexFlag bool 32 } 33 34 func NewAddSheetBuilder() *AddSheetBuilder { 35 builder := &AddSheetBuilder{} 36 return builder 37 } 38 39 // 工作表标题 40 // 41 // 示例值:abc 42 func (builder *AddSheetBuilder) Title(title string) *AddSheetBuilder { 43 builder.title = title 44 builder.titleFlag = true 45 return builder 46 } 47 48 // 工作表位置 49 // 50 // 示例值:0 51 func (builder *AddSheetBuilder) Index(index int) *AddSheetBuilder { 52 builder.index = index 53 builder.indexFlag = true 54 return builder 55 } 56 57 func (builder *AddSheetBuilder) Build() *AddSheet { 58 req := &AddSheet{} 59 if builder.titleFlag { 60 req.Title = &builder.title 61 62 } 63 if builder.indexFlag { 64 req.Index = &builder.index 65 66 } 67 return req 68 } 69 70 type AppendDimension struct { 71 MajorDimension *string `json:"major_dimension,omitempty"` // 操作行还是列,取值:ROWS、COLUMNS 72 Length *int `json:"length,omitempty"` // 数量 73 InheritFromBefore *bool `json:"inherit_from_before,omitempty"` // 是否继承上一行/列的样式 74 } 75 76 type AppendDimensionBuilder struct { 77 majorDimension string // 操作行还是列,取值:ROWS、COLUMNS 78 majorDimensionFlag bool 79 length int // 数量 80 lengthFlag bool 81 inheritFromBefore bool // 是否继承上一行/列的样式 82 inheritFromBeforeFlag bool 83 } 84 85 func NewAppendDimensionBuilder() *AppendDimensionBuilder { 86 builder := &AppendDimensionBuilder{} 87 return builder 88 } 89 90 // 操作行还是列,取值:ROWS、COLUMNS 91 // 92 // 示例值:ROWS 93 func (builder *AppendDimensionBuilder) MajorDimension(majorDimension string) *AppendDimensionBuilder { 94 builder.majorDimension = majorDimension 95 builder.majorDimensionFlag = true 96 return builder 97 } 98 99 // 数量 100 // 101 // 示例值:10 102 func (builder *AppendDimensionBuilder) Length(length int) *AppendDimensionBuilder { 103 builder.length = length 104 builder.lengthFlag = true 105 return builder 106 } 107 108 // 是否继承上一行/列的样式 109 // 110 // 示例值:false 111 func (builder *AppendDimensionBuilder) InheritFromBefore(inheritFromBefore bool) *AppendDimensionBuilder { 112 builder.inheritFromBefore = inheritFromBefore 113 builder.inheritFromBeforeFlag = true 114 return builder 115 } 116 117 func (builder *AppendDimensionBuilder) Build() *AppendDimension { 118 req := &AppendDimension{} 119 if builder.majorDimensionFlag { 120 req.MajorDimension = &builder.majorDimension 121 122 } 123 if builder.lengthFlag { 124 req.Length = &builder.length 125 126 } 127 if builder.inheritFromBeforeFlag { 128 req.InheritFromBefore = &builder.inheritFromBefore 129 130 } 131 return req 132 } 133 134 type BitableProperties struct { 135 BitableToken *string `json:"bitable_token,omitempty"` // 多维表格token 136 TableId *string `json:"table_id,omitempty"` // 数据表id 137 } 138 139 type BitablePropertiesBuilder struct { 140 bitableToken string // 多维表格token 141 bitableTokenFlag bool 142 tableId string // 数据表id 143 tableIdFlag bool 144 } 145 146 func NewBitablePropertiesBuilder() *BitablePropertiesBuilder { 147 builder := &BitablePropertiesBuilder{} 148 return builder 149 } 150 151 // 多维表格token 152 // 153 // 示例值:basxxxxxxxxxxxxxxxx 154 func (builder *BitablePropertiesBuilder) BitableToken(bitableToken string) *BitablePropertiesBuilder { 155 builder.bitableToken = bitableToken 156 builder.bitableTokenFlag = true 157 return builder 158 } 159 160 // 数据表id 161 // 162 // 示例值:tblxxxxxxxxxx 163 func (builder *BitablePropertiesBuilder) TableId(tableId string) *BitablePropertiesBuilder { 164 builder.tableId = tableId 165 builder.tableIdFlag = true 166 return builder 167 } 168 169 func (builder *BitablePropertiesBuilder) Build() *BitableProperties { 170 req := &BitableProperties{} 171 if builder.bitableTokenFlag { 172 req.BitableToken = &builder.bitableToken 173 174 } 175 if builder.tableIdFlag { 176 req.TableId = &builder.tableId 177 178 } 179 return req 180 } 181 182 type CellValue struct { 183 Type *string `json:"type,omitempty"` // 元素类型 184 Text *Text `json:"text,omitempty"` // 185 MentionUser *MentionUser `json:"mention_user,omitempty"` // 186 MentionDocument *MentionDocument `json:"mention_document,omitempty"` // 187 Value *ValueElement `json:"value,omitempty"` // 188 DateTime *DateTime `json:"date_time,omitempty"` // 189 File *File `json:"file,omitempty"` // 190 Image *Image `json:"image,omitempty"` // 191 Link *Link `json:"link,omitempty"` // 192 Reminder *Reminder `json:"reminder,omitempty"` // 193 Formula *Formula `json:"formula,omitempty"` // 194 } 195 196 type CellValueBuilder struct { 197 type_ string // 元素类型 198 typeFlag bool 199 text *Text // 200 textFlag bool 201 mentionUser *MentionUser // 202 mentionUserFlag bool 203 mentionDocument *MentionDocument // 204 mentionDocumentFlag bool 205 value *ValueElement // 206 valueFlag bool 207 dateTime *DateTime // 208 dateTimeFlag bool 209 file *File // 210 fileFlag bool 211 image *Image // 212 imageFlag bool 213 link *Link // 214 linkFlag bool 215 reminder *Reminder // 216 reminderFlag bool 217 formula *Formula // 218 formulaFlag bool 219 } 220 221 func NewCellValueBuilder() *CellValueBuilder { 222 builder := &CellValueBuilder{} 223 return builder 224 } 225 226 // 元素类型 227 // 228 // 示例值:text 229 func (builder *CellValueBuilder) Type(type_ string) *CellValueBuilder { 230 builder.type_ = type_ 231 builder.typeFlag = true 232 return builder 233 } 234 235 // 236 // 237 // 示例值: 238 func (builder *CellValueBuilder) Text(text *Text) *CellValueBuilder { 239 builder.text = text 240 builder.textFlag = true 241 return builder 242 } 243 244 // 245 // 246 // 示例值: 247 func (builder *CellValueBuilder) MentionUser(mentionUser *MentionUser) *CellValueBuilder { 248 builder.mentionUser = mentionUser 249 builder.mentionUserFlag = true 250 return builder 251 } 252 253 // 254 // 255 // 示例值: 256 func (builder *CellValueBuilder) MentionDocument(mentionDocument *MentionDocument) *CellValueBuilder { 257 builder.mentionDocument = mentionDocument 258 builder.mentionDocumentFlag = true 259 return builder 260 } 261 262 // 263 // 264 // 示例值: 265 func (builder *CellValueBuilder) Value(value *ValueElement) *CellValueBuilder { 266 builder.value = value 267 builder.valueFlag = true 268 return builder 269 } 270 271 // 272 // 273 // 示例值: 274 func (builder *CellValueBuilder) DateTime(dateTime *DateTime) *CellValueBuilder { 275 builder.dateTime = dateTime 276 builder.dateTimeFlag = true 277 return builder 278 } 279 280 // 281 // 282 // 示例值: 283 func (builder *CellValueBuilder) File(file *File) *CellValueBuilder { 284 builder.file = file 285 builder.fileFlag = true 286 return builder 287 } 288 289 // 290 // 291 // 示例值: 292 func (builder *CellValueBuilder) Image(image *Image) *CellValueBuilder { 293 builder.image = image 294 builder.imageFlag = true 295 return builder 296 } 297 298 // 299 // 300 // 示例值: 301 func (builder *CellValueBuilder) Link(link *Link) *CellValueBuilder { 302 builder.link = link 303 builder.linkFlag = true 304 return builder 305 } 306 307 // 308 // 309 // 示例值: 310 func (builder *CellValueBuilder) Reminder(reminder *Reminder) *CellValueBuilder { 311 builder.reminder = reminder 312 builder.reminderFlag = true 313 return builder 314 } 315 316 // 317 // 318 // 示例值: 319 func (builder *CellValueBuilder) Formula(formula *Formula) *CellValueBuilder { 320 builder.formula = formula 321 builder.formulaFlag = true 322 return builder 323 } 324 325 func (builder *CellValueBuilder) Build() *CellValue { 326 req := &CellValue{} 327 if builder.typeFlag { 328 req.Type = &builder.type_ 329 330 } 331 if builder.textFlag { 332 req.Text = builder.text 333 } 334 if builder.mentionUserFlag { 335 req.MentionUser = builder.mentionUser 336 } 337 if builder.mentionDocumentFlag { 338 req.MentionDocument = builder.mentionDocument 339 } 340 if builder.valueFlag { 341 req.Value = builder.value 342 } 343 if builder.dateTimeFlag { 344 req.DateTime = builder.dateTime 345 } 346 if builder.fileFlag { 347 req.File = builder.file 348 } 349 if builder.imageFlag { 350 req.Image = builder.image 351 } 352 if builder.linkFlag { 353 req.Link = builder.link 354 } 355 if builder.reminderFlag { 356 req.Reminder = builder.reminder 357 } 358 if builder.formulaFlag { 359 req.Formula = builder.formula 360 } 361 return req 362 } 363 364 type Condition struct { 365 FilterType *string `json:"filter_type,omitempty"` // 筛选类型 366 CompareType *string `json:"compare_type,omitempty"` // 比较类型 367 Expected []string `json:"expected,omitempty"` // 筛选参数 368 } 369 370 type ConditionBuilder struct { 371 filterType string // 筛选类型 372 filterTypeFlag bool 373 compareType string // 比较类型 374 compareTypeFlag bool 375 expected []string // 筛选参数 376 expectedFlag bool 377 } 378 379 func NewConditionBuilder() *ConditionBuilder { 380 builder := &ConditionBuilder{} 381 return builder 382 } 383 384 // 筛选类型 385 // 386 // 示例值:number 387 func (builder *ConditionBuilder) FilterType(filterType string) *ConditionBuilder { 388 builder.filterType = filterType 389 builder.filterTypeFlag = true 390 return builder 391 } 392 393 // 比较类型 394 // 395 // 示例值:less 396 func (builder *ConditionBuilder) CompareType(compareType string) *ConditionBuilder { 397 builder.compareType = compareType 398 builder.compareTypeFlag = true 399 return builder 400 } 401 402 // 筛选参数 403 // 404 // 示例值:6 405 func (builder *ConditionBuilder) Expected(expected []string) *ConditionBuilder { 406 builder.expected = expected 407 builder.expectedFlag = true 408 return builder 409 } 410 411 func (builder *ConditionBuilder) Build() *Condition { 412 req := &Condition{} 413 if builder.filterTypeFlag { 414 req.FilterType = &builder.filterType 415 416 } 417 if builder.compareTypeFlag { 418 req.CompareType = &builder.compareType 419 420 } 421 if builder.expectedFlag { 422 req.Expected = builder.expected 423 } 424 return req 425 } 426 427 type CreateSheetFilter struct { 428 Range *string `json:"range,omitempty"` // 筛选应用范围 429 Col *string `json:"col,omitempty"` // 设置筛选条件的列 430 Condition *Condition `json:"condition,omitempty"` // 筛选的条件 431 } 432 433 type CreateSheetFilterBuilder struct { 434 range_ string // 筛选应用范围 435 rangeFlag bool 436 col string // 设置筛选条件的列 437 colFlag bool 438 condition *Condition // 筛选的条件 439 conditionFlag bool 440 } 441 442 func NewCreateSheetFilterBuilder() *CreateSheetFilterBuilder { 443 builder := &CreateSheetFilterBuilder{} 444 return builder 445 } 446 447 // 筛选应用范围 448 // 449 // 示例值:xxxxxx!C1:H14 450 func (builder *CreateSheetFilterBuilder) Range(range_ string) *CreateSheetFilterBuilder { 451 builder.range_ = range_ 452 builder.rangeFlag = true 453 return builder 454 } 455 456 // 设置筛选条件的列 457 // 458 // 示例值:E 459 func (builder *CreateSheetFilterBuilder) Col(col string) *CreateSheetFilterBuilder { 460 builder.col = col 461 builder.colFlag = true 462 return builder 463 } 464 465 // 筛选的条件 466 // 467 // 示例值: 468 func (builder *CreateSheetFilterBuilder) Condition(condition *Condition) *CreateSheetFilterBuilder { 469 builder.condition = condition 470 builder.conditionFlag = true 471 return builder 472 } 473 474 func (builder *CreateSheetFilterBuilder) Build() *CreateSheetFilter { 475 req := &CreateSheetFilter{} 476 if builder.rangeFlag { 477 req.Range = &builder.range_ 478 479 } 480 if builder.colFlag { 481 req.Col = &builder.col 482 483 } 484 if builder.conditionFlag { 485 req.Condition = builder.condition 486 } 487 return req 488 } 489 490 type DateTime struct { 491 DateTime *string `json:"date_time,omitempty"` // 时间日期 492 } 493 494 type DateTimeBuilder struct { 495 dateTime string // 时间日期 496 dateTimeFlag bool 497 } 498 499 func NewDateTimeBuilder() *DateTimeBuilder { 500 builder := &DateTimeBuilder{} 501 return builder 502 } 503 504 // 时间日期 505 // 506 // 示例值:2022/02/22 507 func (builder *DateTimeBuilder) DateTime(dateTime string) *DateTimeBuilder { 508 builder.dateTime = dateTime 509 builder.dateTimeFlag = true 510 return builder 511 } 512 513 func (builder *DateTimeBuilder) Build() *DateTime { 514 req := &DateTime{} 515 if builder.dateTimeFlag { 516 req.DateTime = &builder.dateTime 517 518 } 519 return req 520 } 521 522 type Dimension struct { 523 MajorDimension *string `json:"major_dimension,omitempty"` // 操作行还是列,取值:ROWS、COLUMNS 524 StartIndex *int `json:"start_index,omitempty"` // 起始行或者列号 525 EndIndex *int `json:"end_index,omitempty"` // 结束行或者列号 526 } 527 528 type DimensionBuilder struct { 529 majorDimension string // 操作行还是列,取值:ROWS、COLUMNS 530 majorDimensionFlag bool 531 startIndex int // 起始行或者列号 532 startIndexFlag bool 533 endIndex int // 结束行或者列号 534 endIndexFlag bool 535 } 536 537 func NewDimensionBuilder() *DimensionBuilder { 538 builder := &DimensionBuilder{} 539 return builder 540 } 541 542 // 操作行还是列,取值:ROWS、COLUMNS 543 // 544 // 示例值:ROWS 545 func (builder *DimensionBuilder) MajorDimension(majorDimension string) *DimensionBuilder { 546 builder.majorDimension = majorDimension 547 builder.majorDimensionFlag = true 548 return builder 549 } 550 551 // 起始行或者列号 552 // 553 // 示例值:0 554 func (builder *DimensionBuilder) StartIndex(startIndex int) *DimensionBuilder { 555 builder.startIndex = startIndex 556 builder.startIndexFlag = true 557 return builder 558 } 559 560 // 结束行或者列号 561 // 562 // 示例值:1 563 func (builder *DimensionBuilder) EndIndex(endIndex int) *DimensionBuilder { 564 builder.endIndex = endIndex 565 builder.endIndexFlag = true 566 return builder 567 } 568 569 func (builder *DimensionBuilder) Build() *Dimension { 570 req := &Dimension{} 571 if builder.majorDimensionFlag { 572 req.MajorDimension = &builder.majorDimension 573 574 } 575 if builder.startIndexFlag { 576 req.StartIndex = &builder.startIndex 577 578 } 579 if builder.endIndexFlag { 580 req.EndIndex = &builder.endIndex 581 582 } 583 return req 584 } 585 586 type DimensionProperties struct { 587 Hidden *bool `json:"hidden,omitempty"` // 是否隐藏 588 PixelSize *int `json:"pixel_size,omitempty"` // 行/列像素大小 589 } 590 591 type DimensionPropertiesBuilder struct { 592 hidden bool // 是否隐藏 593 hiddenFlag bool 594 pixelSize int // 行/列像素大小 595 pixelSizeFlag bool 596 } 597 598 func NewDimensionPropertiesBuilder() *DimensionPropertiesBuilder { 599 builder := &DimensionPropertiesBuilder{} 600 return builder 601 } 602 603 // 是否隐藏 604 // 605 // 示例值:false 606 func (builder *DimensionPropertiesBuilder) Hidden(hidden bool) *DimensionPropertiesBuilder { 607 builder.hidden = hidden 608 builder.hiddenFlag = true 609 return builder 610 } 611 612 // 行/列像素大小 613 // 614 // 示例值:100 615 func (builder *DimensionPropertiesBuilder) PixelSize(pixelSize int) *DimensionPropertiesBuilder { 616 builder.pixelSize = pixelSize 617 builder.pixelSizeFlag = true 618 return builder 619 } 620 621 func (builder *DimensionPropertiesBuilder) Build() *DimensionProperties { 622 req := &DimensionProperties{} 623 if builder.hiddenFlag { 624 req.Hidden = &builder.hidden 625 626 } 627 if builder.pixelSizeFlag { 628 req.PixelSize = &builder.pixelSize 629 630 } 631 return req 632 } 633 634 type File struct { 635 FileToken *string `json:"file_token,omitempty"` // 附件token 636 Name *string `json:"name,omitempty"` // 附件名称 637 SegmentStyle *SegmentStyle `json:"segment_style,omitempty"` // 638 } 639 640 type FileBuilder struct { 641 fileToken string // 附件token 642 fileTokenFlag bool 643 name string // 附件名称 644 nameFlag bool 645 segmentStyle *SegmentStyle // 646 segmentStyleFlag bool 647 } 648 649 func NewFileBuilder() *FileBuilder { 650 builder := &FileBuilder{} 651 return builder 652 } 653 654 // 附件token 655 // 656 // 示例值:boxxxxxxx 657 func (builder *FileBuilder) FileToken(fileToken string) *FileBuilder { 658 builder.fileToken = fileToken 659 builder.fileTokenFlag = true 660 return builder 661 } 662 663 // 附件名称 664 // 665 // 示例值:a.png 666 func (builder *FileBuilder) Name(name string) *FileBuilder { 667 builder.name = name 668 builder.nameFlag = true 669 return builder 670 } 671 672 // 673 // 674 // 示例值: 675 func (builder *FileBuilder) SegmentStyle(segmentStyle *SegmentStyle) *FileBuilder { 676 builder.segmentStyle = segmentStyle 677 builder.segmentStyleFlag = true 678 return builder 679 } 680 681 func (builder *FileBuilder) Build() *File { 682 req := &File{} 683 if builder.fileTokenFlag { 684 req.FileToken = &builder.fileToken 685 686 } 687 if builder.nameFlag { 688 req.Name = &builder.name 689 690 } 691 if builder.segmentStyleFlag { 692 req.SegmentStyle = builder.segmentStyle 693 } 694 return req 695 } 696 697 type FilterInfo struct { 698 Col *string `json:"col,omitempty"` // 设置了筛选条件的列 699 Conditions []*Condition `json:"conditions,omitempty"` // 筛选条件 700 } 701 702 type FilterInfoBuilder struct { 703 col string // 设置了筛选条件的列 704 colFlag bool 705 conditions []*Condition // 筛选条件 706 conditionsFlag bool 707 } 708 709 func NewFilterInfoBuilder() *FilterInfoBuilder { 710 builder := &FilterInfoBuilder{} 711 return builder 712 } 713 714 // 设置了筛选条件的列 715 // 716 // 示例值:E 717 func (builder *FilterInfoBuilder) Col(col string) *FilterInfoBuilder { 718 builder.col = col 719 builder.colFlag = true 720 return builder 721 } 722 723 // 筛选条件 724 // 725 // 示例值: 726 func (builder *FilterInfoBuilder) Conditions(conditions []*Condition) *FilterInfoBuilder { 727 builder.conditions = conditions 728 builder.conditionsFlag = true 729 return builder 730 } 731 732 func (builder *FilterInfoBuilder) Build() *FilterInfo { 733 req := &FilterInfo{} 734 if builder.colFlag { 735 req.Col = &builder.col 736 737 } 738 if builder.conditionsFlag { 739 req.Conditions = builder.conditions 740 } 741 return req 742 } 743 744 type FilterView struct { 745 FilterViewId *string `json:"filter_view_id,omitempty"` // 筛选视图 id 746 FilterViewName *string `json:"filter_view_name,omitempty"` // 筛选视图名字 747 Range *string `json:"range,omitempty"` // 筛选视图的筛选范围 748 } 749 750 type FilterViewBuilder struct { 751 filterViewId string // 筛选视图 id 752 filterViewIdFlag bool 753 filterViewName string // 筛选视图名字 754 filterViewNameFlag bool 755 range_ string // 筛选视图的筛选范围 756 rangeFlag bool 757 } 758 759 func NewFilterViewBuilder() *FilterViewBuilder { 760 builder := &FilterViewBuilder{} 761 return builder 762 } 763 764 // 筛选视图 id 765 // 766 // 示例值:pH9hbVcCXA 767 func (builder *FilterViewBuilder) FilterViewId(filterViewId string) *FilterViewBuilder { 768 builder.filterViewId = filterViewId 769 builder.filterViewIdFlag = true 770 return builder 771 } 772 773 // 筛选视图名字 774 // 775 // 示例值:筛选视图 1 776 func (builder *FilterViewBuilder) FilterViewName(filterViewName string) *FilterViewBuilder { 777 builder.filterViewName = filterViewName 778 builder.filterViewNameFlag = true 779 return builder 780 } 781 782 // 筛选视图的筛选范围 783 // 784 // 示例值:0b**12!C1:H14 785 func (builder *FilterViewBuilder) Range(range_ string) *FilterViewBuilder { 786 builder.range_ = range_ 787 builder.rangeFlag = true 788 return builder 789 } 790 791 func (builder *FilterViewBuilder) Build() *FilterView { 792 req := &FilterView{} 793 if builder.filterViewIdFlag { 794 req.FilterViewId = &builder.filterViewId 795 796 } 797 if builder.filterViewNameFlag { 798 req.FilterViewName = &builder.filterViewName 799 800 } 801 if builder.rangeFlag { 802 req.Range = &builder.range_ 803 804 } 805 return req 806 } 807 808 type FilterViewCondition struct { 809 ConditionId *string `json:"condition_id,omitempty"` // 设置筛选条件的列,使用字母号 810 FilterType *string `json:"filter_type,omitempty"` // 筛选类型 811 CompareType *string `json:"compare_type,omitempty"` // 比较类型 812 Expected []string `json:"expected,omitempty"` // 筛选参数 813 } 814 815 type FilterViewConditionBuilder struct { 816 conditionId string // 设置筛选条件的列,使用字母号 817 conditionIdFlag bool 818 filterType string // 筛选类型 819 filterTypeFlag bool 820 compareType string // 比较类型 821 compareTypeFlag bool 822 expected []string // 筛选参数 823 expectedFlag bool 824 } 825 826 func NewFilterViewConditionBuilder() *FilterViewConditionBuilder { 827 builder := &FilterViewConditionBuilder{} 828 return builder 829 } 830 831 // 设置筛选条件的列,使用字母号 832 // 833 // 示例值:E 834 func (builder *FilterViewConditionBuilder) ConditionId(conditionId string) *FilterViewConditionBuilder { 835 builder.conditionId = conditionId 836 builder.conditionIdFlag = true 837 return builder 838 } 839 840 // 筛选类型 841 // 842 // 示例值:number 843 func (builder *FilterViewConditionBuilder) FilterType(filterType string) *FilterViewConditionBuilder { 844 builder.filterType = filterType 845 builder.filterTypeFlag = true 846 return builder 847 } 848 849 // 比较类型 850 // 851 // 示例值:less 852 func (builder *FilterViewConditionBuilder) CompareType(compareType string) *FilterViewConditionBuilder { 853 builder.compareType = compareType 854 builder.compareTypeFlag = true 855 return builder 856 } 857 858 // 筛选参数 859 // 860 // 示例值:6 861 func (builder *FilterViewConditionBuilder) Expected(expected []string) *FilterViewConditionBuilder { 862 builder.expected = expected 863 builder.expectedFlag = true 864 return builder 865 } 866 867 func (builder *FilterViewConditionBuilder) Build() *FilterViewCondition { 868 req := &FilterViewCondition{} 869 if builder.conditionIdFlag { 870 req.ConditionId = &builder.conditionId 871 872 } 873 if builder.filterTypeFlag { 874 req.FilterType = &builder.filterType 875 876 } 877 if builder.compareTypeFlag { 878 req.CompareType = &builder.compareType 879 880 } 881 if builder.expectedFlag { 882 req.Expected = builder.expected 883 } 884 return req 885 } 886 887 type Find struct { 888 FindCondition *FindCondition `json:"find_condition,omitempty"` // 查找条件 889 Find *string `json:"find,omitempty"` // 查找的字符串 890 } 891 892 type FindBuilder struct { 893 findCondition *FindCondition // 查找条件 894 findConditionFlag bool 895 find string // 查找的字符串 896 findFlag bool 897 } 898 899 func NewFindBuilder() *FindBuilder { 900 builder := &FindBuilder{} 901 return builder 902 } 903 904 // 查找条件 905 // 906 // 示例值: 907 func (builder *FindBuilder) FindCondition(findCondition *FindCondition) *FindBuilder { 908 builder.findCondition = findCondition 909 builder.findConditionFlag = true 910 return builder 911 } 912 913 // 查找的字符串 914 // 915 // 示例值:hello 916 func (builder *FindBuilder) Find(find string) *FindBuilder { 917 builder.find = find 918 builder.findFlag = true 919 return builder 920 } 921 922 func (builder *FindBuilder) Build() *Find { 923 req := &Find{} 924 if builder.findConditionFlag { 925 req.FindCondition = builder.findCondition 926 } 927 if builder.findFlag { 928 req.Find = &builder.find 929 930 } 931 return req 932 } 933 934 type FindCondition struct { 935 Range *string `json:"range,omitempty"` // 查找范围 936 MatchCase *bool `json:"match_case,omitempty"` // 是否忽略大小写 937 MatchEntireCell *bool `json:"match_entire_cell,omitempty"` // 是否匹配整个单元格 938 SearchByRegex *bool `json:"search_by_regex,omitempty"` // 是否为正则匹配 939 IncludeFormulas *bool `json:"include_formulas,omitempty"` // 是否搜索公式内容 940 } 941 942 type FindConditionBuilder struct { 943 range_ string // 查找范围 944 rangeFlag bool 945 matchCase bool // 是否忽略大小写 946 matchCaseFlag bool 947 matchEntireCell bool // 是否匹配整个单元格 948 matchEntireCellFlag bool 949 searchByRegex bool // 是否为正则匹配 950 searchByRegexFlag bool 951 includeFormulas bool // 是否搜索公式内容 952 includeFormulasFlag bool 953 } 954 955 func NewFindConditionBuilder() *FindConditionBuilder { 956 builder := &FindConditionBuilder{} 957 return builder 958 } 959 960 // 查找范围 961 // 962 // 示例值:0b**12!A1:H10 963 func (builder *FindConditionBuilder) Range(range_ string) *FindConditionBuilder { 964 builder.range_ = range_ 965 builder.rangeFlag = true 966 return builder 967 } 968 969 // 是否忽略大小写 970 // 971 // 示例值:true 972 func (builder *FindConditionBuilder) MatchCase(matchCase bool) *FindConditionBuilder { 973 builder.matchCase = matchCase 974 builder.matchCaseFlag = true 975 return builder 976 } 977 978 // 是否匹配整个单元格 979 // 980 // 示例值:false 981 func (builder *FindConditionBuilder) MatchEntireCell(matchEntireCell bool) *FindConditionBuilder { 982 builder.matchEntireCell = matchEntireCell 983 builder.matchEntireCellFlag = true 984 return builder 985 } 986 987 // 是否为正则匹配 988 // 989 // 示例值:false 990 func (builder *FindConditionBuilder) SearchByRegex(searchByRegex bool) *FindConditionBuilder { 991 builder.searchByRegex = searchByRegex 992 builder.searchByRegexFlag = true 993 return builder 994 } 995 996 // 是否搜索公式内容 997 // 998 // 示例值:false 999 func (builder *FindConditionBuilder) IncludeFormulas(includeFormulas bool) *FindConditionBuilder { 1000 builder.includeFormulas = includeFormulas 1001 builder.includeFormulasFlag = true 1002 return builder 1003 } 1004 1005 func (builder *FindConditionBuilder) Build() *FindCondition { 1006 req := &FindCondition{} 1007 if builder.rangeFlag { 1008 req.Range = &builder.range_ 1009 1010 } 1011 if builder.matchCaseFlag { 1012 req.MatchCase = &builder.matchCase 1013 1014 } 1015 if builder.matchEntireCellFlag { 1016 req.MatchEntireCell = &builder.matchEntireCell 1017 1018 } 1019 if builder.searchByRegexFlag { 1020 req.SearchByRegex = &builder.searchByRegex 1021 1022 } 1023 if builder.includeFormulasFlag { 1024 req.IncludeFormulas = &builder.includeFormulas 1025 1026 } 1027 return req 1028 } 1029 1030 type FindReplaceResult struct { 1031 MatchedCells []string `json:"matched_cells,omitempty"` // 符合查找条件的单元格数组,不包含公式,例如["A1", "A2"...] 1032 MatchedFormulaCells []string `json:"matched_formula_cells,omitempty"` // 符合查找条件的含有公式的单元格数组,例如["B3", "H7"...] 1033 RowsCount *int `json:"rows_count,omitempty"` // 符合查找条件的总行数 1034 } 1035 1036 type FindReplaceResultBuilder struct { 1037 matchedCells []string // 符合查找条件的单元格数组,不包含公式,例如["A1", "A2"...] 1038 matchedCellsFlag bool 1039 matchedFormulaCells []string // 符合查找条件的含有公式的单元格数组,例如["B3", "H7"...] 1040 matchedFormulaCellsFlag bool 1041 rowsCount int // 符合查找条件的总行数 1042 rowsCountFlag bool 1043 } 1044 1045 func NewFindReplaceResultBuilder() *FindReplaceResultBuilder { 1046 builder := &FindReplaceResultBuilder{} 1047 return builder 1048 } 1049 1050 // 符合查找条件的单元格数组,不包含公式,例如["A1", "A2"...] 1051 // 1052 // 示例值: 1053 func (builder *FindReplaceResultBuilder) MatchedCells(matchedCells []string) *FindReplaceResultBuilder { 1054 builder.matchedCells = matchedCells 1055 builder.matchedCellsFlag = true 1056 return builder 1057 } 1058 1059 // 符合查找条件的含有公式的单元格数组,例如["B3", "H7"...] 1060 // 1061 // 示例值: 1062 func (builder *FindReplaceResultBuilder) MatchedFormulaCells(matchedFormulaCells []string) *FindReplaceResultBuilder { 1063 builder.matchedFormulaCells = matchedFormulaCells 1064 builder.matchedFormulaCellsFlag = true 1065 return builder 1066 } 1067 1068 // 符合查找条件的总行数 1069 // 1070 // 示例值:2 1071 func (builder *FindReplaceResultBuilder) RowsCount(rowsCount int) *FindReplaceResultBuilder { 1072 builder.rowsCount = rowsCount 1073 builder.rowsCountFlag = true 1074 return builder 1075 } 1076 1077 func (builder *FindReplaceResultBuilder) Build() *FindReplaceResult { 1078 req := &FindReplaceResult{} 1079 if builder.matchedCellsFlag { 1080 req.MatchedCells = builder.matchedCells 1081 } 1082 if builder.matchedFormulaCellsFlag { 1083 req.MatchedFormulaCells = builder.matchedFormulaCells 1084 } 1085 if builder.rowsCountFlag { 1086 req.RowsCount = &builder.rowsCount 1087 1088 } 1089 return req 1090 } 1091 1092 type FloatImage struct { 1093 FloatImageId *string `json:"float_image_id,omitempty"` // 浮动图片 id 1094 FloatImageToken *string `json:"float_image_token,omitempty"` // 【更新时不用传,创建需要】浮动图片 token,需要先上传图片到表格获得此 token 之后再进行浮动图片的相关操作 1095 Range *string `json:"range,omitempty"` // 浮动图片的左上角单元格定位,只支持一个单元格 1096 Width *float64 `json:"width,omitempty"` // 浮动图片的宽度,大于等于 20px 1097 Height *float64 `json:"height,omitempty"` // 浮动图片的高度,大于等于 20px 1098 OffsetX *float64 `json:"offset_x,omitempty"` // 浮动图片左上角所在位置相对于所在单元格左上角的横向偏移,大于等于0且小于所在单元格的宽度 1099 OffsetY *float64 `json:"offset_y,omitempty"` // 浮动图片左上角所在位置相对于所在单元格左上角的纵向偏移,大于等于0且小于所在单元格的高度 1100 } 1101 1102 type FloatImageBuilder struct { 1103 floatImageId string // 浮动图片 id 1104 floatImageIdFlag bool 1105 floatImageToken string // 【更新时不用传,创建需要】浮动图片 token,需要先上传图片到表格获得此 token 之后再进行浮动图片的相关操作 1106 floatImageTokenFlag bool 1107 range_ string // 浮动图片的左上角单元格定位,只支持一个单元格 1108 rangeFlag bool 1109 width float64 // 浮动图片的宽度,大于等于 20px 1110 widthFlag bool 1111 height float64 // 浮动图片的高度,大于等于 20px 1112 heightFlag bool 1113 offsetX float64 // 浮动图片左上角所在位置相对于所在单元格左上角的横向偏移,大于等于0且小于所在单元格的宽度 1114 offsetXFlag bool 1115 offsetY float64 // 浮动图片左上角所在位置相对于所在单元格左上角的纵向偏移,大于等于0且小于所在单元格的高度 1116 offsetYFlag bool 1117 } 1118 1119 func NewFloatImageBuilder() *FloatImageBuilder { 1120 builder := &FloatImageBuilder{} 1121 return builder 1122 } 1123 1124 // 浮动图片 id 1125 // 1126 // 示例值:ye06SS14ph 1127 func (builder *FloatImageBuilder) FloatImageId(floatImageId string) *FloatImageBuilder { 1128 builder.floatImageId = floatImageId 1129 builder.floatImageIdFlag = true 1130 return builder 1131 } 1132 1133 // 【更新时不用传,创建需要】浮动图片 token,需要先上传图片到表格获得此 token 之后再进行浮动图片的相关操作 1134 // 1135 // 示例值:boxbcbQsaSqIXsxxxxx1HCPJFbh 1136 func (builder *FloatImageBuilder) FloatImageToken(floatImageToken string) *FloatImageBuilder { 1137 builder.floatImageToken = floatImageToken 1138 builder.floatImageTokenFlag = true 1139 return builder 1140 } 1141 1142 // 浮动图片的左上角单元格定位,只支持一个单元格 1143 // 1144 // 示例值:0b**12!A1:A1 1145 func (builder *FloatImageBuilder) Range(range_ string) *FloatImageBuilder { 1146 builder.range_ = range_ 1147 builder.rangeFlag = true 1148 return builder 1149 } 1150 1151 // 浮动图片的宽度,大于等于 20px 1152 // 1153 // 示例值:100 1154 func (builder *FloatImageBuilder) Width(width float64) *FloatImageBuilder { 1155 builder.width = width 1156 builder.widthFlag = true 1157 return builder 1158 } 1159 1160 // 浮动图片的高度,大于等于 20px 1161 // 1162 // 示例值:100 1163 func (builder *FloatImageBuilder) Height(height float64) *FloatImageBuilder { 1164 builder.height = height 1165 builder.heightFlag = true 1166 return builder 1167 } 1168 1169 // 浮动图片左上角所在位置相对于所在单元格左上角的横向偏移,大于等于0且小于所在单元格的宽度 1170 // 1171 // 示例值:0 1172 func (builder *FloatImageBuilder) OffsetX(offsetX float64) *FloatImageBuilder { 1173 builder.offsetX = offsetX 1174 builder.offsetXFlag = true 1175 return builder 1176 } 1177 1178 // 浮动图片左上角所在位置相对于所在单元格左上角的纵向偏移,大于等于0且小于所在单元格的高度 1179 // 1180 // 示例值:0 1181 func (builder *FloatImageBuilder) OffsetY(offsetY float64) *FloatImageBuilder { 1182 builder.offsetY = offsetY 1183 builder.offsetYFlag = true 1184 return builder 1185 } 1186 1187 func (builder *FloatImageBuilder) Build() *FloatImage { 1188 req := &FloatImage{} 1189 if builder.floatImageIdFlag { 1190 req.FloatImageId = &builder.floatImageId 1191 1192 } 1193 if builder.floatImageTokenFlag { 1194 req.FloatImageToken = &builder.floatImageToken 1195 1196 } 1197 if builder.rangeFlag { 1198 req.Range = &builder.range_ 1199 1200 } 1201 if builder.widthFlag { 1202 req.Width = &builder.width 1203 1204 } 1205 if builder.heightFlag { 1206 req.Height = &builder.height 1207 1208 } 1209 if builder.offsetXFlag { 1210 req.OffsetX = &builder.offsetX 1211 1212 } 1213 if builder.offsetYFlag { 1214 req.OffsetY = &builder.offsetY 1215 1216 } 1217 return req 1218 } 1219 1220 type Formula struct { 1221 Formula *string `json:"formula,omitempty"` // 公式 1222 FormulaValue *string `json:"formula_value,omitempty"` // 公式结果 1223 AffectedRange *string `json:"affected_range,omitempty"` // 公式影响的范围 1224 } 1225 1226 type FormulaBuilder struct { 1227 formula string // 公式 1228 formulaFlag bool 1229 formulaValue string // 公式结果 1230 formulaValueFlag bool 1231 affectedRange string // 公式影响的范围 1232 affectedRangeFlag bool 1233 } 1234 1235 func NewFormulaBuilder() *FormulaBuilder { 1236 builder := &FormulaBuilder{} 1237 return builder 1238 } 1239 1240 // 公式 1241 // 1242 // 示例值:=SUM(A:A) 1243 func (builder *FormulaBuilder) Formula(formula string) *FormulaBuilder { 1244 builder.formula = formula 1245 builder.formulaFlag = true 1246 return builder 1247 } 1248 1249 // 公式结果 1250 // 1251 // 示例值:123 1252 func (builder *FormulaBuilder) FormulaValue(formulaValue string) *FormulaBuilder { 1253 builder.formulaValue = formulaValue 1254 builder.formulaValueFlag = true 1255 return builder 1256 } 1257 1258 // 公式影响的范围 1259 // 1260 // 示例值:Xkhr2d!A1:B2 1261 func (builder *FormulaBuilder) AffectedRange(affectedRange string) *FormulaBuilder { 1262 builder.affectedRange = affectedRange 1263 builder.affectedRangeFlag = true 1264 return builder 1265 } 1266 1267 func (builder *FormulaBuilder) Build() *Formula { 1268 req := &Formula{} 1269 if builder.formulaFlag { 1270 req.Formula = &builder.formula 1271 1272 } 1273 if builder.formulaValueFlag { 1274 req.FormulaValue = &builder.formulaValue 1275 1276 } 1277 if builder.affectedRangeFlag { 1278 req.AffectedRange = &builder.affectedRange 1279 1280 } 1281 return req 1282 } 1283 1284 type GetSpreadsheet struct { 1285 Title *string `json:"title,omitempty"` // 电子表格标题 1286 OwnerId *string `json:"owner_id,omitempty"` // 电子表格owner 1287 Token *string `json:"token,omitempty"` // 电子表格token 1288 Url *string `json:"url,omitempty"` // 电子表格url 1289 } 1290 1291 type GetSpreadsheetBuilder struct { 1292 title string // 电子表格标题 1293 titleFlag bool 1294 ownerId string // 电子表格owner 1295 ownerIdFlag bool 1296 token string // 电子表格token 1297 tokenFlag bool 1298 url string // 电子表格url 1299 urlFlag bool 1300 } 1301 1302 func NewGetSpreadsheetBuilder() *GetSpreadsheetBuilder { 1303 builder := &GetSpreadsheetBuilder{} 1304 return builder 1305 } 1306 1307 // 电子表格标题 1308 // 1309 // 示例值:title 1310 func (builder *GetSpreadsheetBuilder) Title(title string) *GetSpreadsheetBuilder { 1311 builder.title = title 1312 builder.titleFlag = true 1313 return builder 1314 } 1315 1316 // 电子表格owner 1317 // 1318 // 示例值:ou_xxxxxxxxxxxx 1319 func (builder *GetSpreadsheetBuilder) OwnerId(ownerId string) *GetSpreadsheetBuilder { 1320 builder.ownerId = ownerId 1321 builder.ownerIdFlag = true 1322 return builder 1323 } 1324 1325 // 电子表格token 1326 // 1327 // 示例值:shtxxxxxxxxxxxxxx 1328 func (builder *GetSpreadsheetBuilder) Token(token string) *GetSpreadsheetBuilder { 1329 builder.token = token 1330 builder.tokenFlag = true 1331 return builder 1332 } 1333 1334 // 电子表格url 1335 // 1336 // 示例值:https://bytedance.feishu.cn/sheets/shtcnmBA*****yGehy8 1337 func (builder *GetSpreadsheetBuilder) Url(url string) *GetSpreadsheetBuilder { 1338 builder.url = url 1339 builder.urlFlag = true 1340 return builder 1341 } 1342 1343 func (builder *GetSpreadsheetBuilder) Build() *GetSpreadsheet { 1344 req := &GetSpreadsheet{} 1345 if builder.titleFlag { 1346 req.Title = &builder.title 1347 1348 } 1349 if builder.ownerIdFlag { 1350 req.OwnerId = &builder.ownerId 1351 1352 } 1353 if builder.tokenFlag { 1354 req.Token = &builder.token 1355 1356 } 1357 if builder.urlFlag { 1358 req.Url = &builder.url 1359 1360 } 1361 return req 1362 } 1363 1364 type GridProperties struct { 1365 FrozenRowCount *int `json:"frozen_row_count,omitempty"` // 冻结的行数量 1366 FrozenColumnCount *int `json:"frozen_column_count,omitempty"` // 冻结的列数量 1367 RowCount *int `json:"row_count,omitempty"` // 工作表的行数 1368 ColumnCount *int `json:"column_count,omitempty"` // 工作表的列数量 1369 } 1370 1371 type GridPropertiesBuilder struct { 1372 frozenRowCount int // 冻结的行数量 1373 frozenRowCountFlag bool 1374 frozenColumnCount int // 冻结的列数量 1375 frozenColumnCountFlag bool 1376 rowCount int // 工作表的行数 1377 rowCountFlag bool 1378 columnCount int // 工作表的列数量 1379 columnCountFlag bool 1380 } 1381 1382 func NewGridPropertiesBuilder() *GridPropertiesBuilder { 1383 builder := &GridPropertiesBuilder{} 1384 return builder 1385 } 1386 1387 // 冻结的行数量 1388 // 1389 // 示例值:0 1390 func (builder *GridPropertiesBuilder) FrozenRowCount(frozenRowCount int) *GridPropertiesBuilder { 1391 builder.frozenRowCount = frozenRowCount 1392 builder.frozenRowCountFlag = true 1393 return builder 1394 } 1395 1396 // 冻结的列数量 1397 // 1398 // 示例值:0 1399 func (builder *GridPropertiesBuilder) FrozenColumnCount(frozenColumnCount int) *GridPropertiesBuilder { 1400 builder.frozenColumnCount = frozenColumnCount 1401 builder.frozenColumnCountFlag = true 1402 return builder 1403 } 1404 1405 // 工作表的行数 1406 // 1407 // 示例值:200 1408 func (builder *GridPropertiesBuilder) RowCount(rowCount int) *GridPropertiesBuilder { 1409 builder.rowCount = rowCount 1410 builder.rowCountFlag = true 1411 return builder 1412 } 1413 1414 // 工作表的列数量 1415 // 1416 // 示例值:20 1417 func (builder *GridPropertiesBuilder) ColumnCount(columnCount int) *GridPropertiesBuilder { 1418 builder.columnCount = columnCount 1419 builder.columnCountFlag = true 1420 return builder 1421 } 1422 1423 func (builder *GridPropertiesBuilder) Build() *GridProperties { 1424 req := &GridProperties{} 1425 if builder.frozenRowCountFlag { 1426 req.FrozenRowCount = &builder.frozenRowCount 1427 1428 } 1429 if builder.frozenColumnCountFlag { 1430 req.FrozenColumnCount = &builder.frozenColumnCount 1431 1432 } 1433 if builder.rowCountFlag { 1434 req.RowCount = &builder.rowCount 1435 1436 } 1437 if builder.columnCountFlag { 1438 req.ColumnCount = &builder.columnCount 1439 1440 } 1441 return req 1442 } 1443 1444 type Image struct { 1445 ImageToken *string `json:"image_token,omitempty"` // 图片token 1446 } 1447 1448 type ImageBuilder struct { 1449 imageToken string // 图片token 1450 imageTokenFlag bool 1451 } 1452 1453 func NewImageBuilder() *ImageBuilder { 1454 builder := &ImageBuilder{} 1455 return builder 1456 } 1457 1458 // 图片token 1459 // 1460 // 示例值:boxxxxxxxxxx 1461 func (builder *ImageBuilder) ImageToken(imageToken string) *ImageBuilder { 1462 builder.imageToken = imageToken 1463 builder.imageTokenFlag = true 1464 return builder 1465 } 1466 1467 func (builder *ImageBuilder) Build() *Image { 1468 req := &Image{} 1469 if builder.imageTokenFlag { 1470 req.ImageToken = &builder.imageToken 1471 1472 } 1473 return req 1474 } 1475 1476 type InsertDimension struct { 1477 DimensionRange *Dimension `json:"dimension_range,omitempty"` // 行列操作的维度 1478 InheritFrom *string `json:"inherit_from,omitempty"` // 是否继承上/下一行/列样式 1479 } 1480 1481 type InsertDimensionBuilder struct { 1482 dimensionRange *Dimension // 行列操作的维度 1483 dimensionRangeFlag bool 1484 inheritFrom string // 是否继承上/下一行/列样式 1485 inheritFromFlag bool 1486 } 1487 1488 func NewInsertDimensionBuilder() *InsertDimensionBuilder { 1489 builder := &InsertDimensionBuilder{} 1490 return builder 1491 } 1492 1493 // 行列操作的维度 1494 // 1495 // 示例值: 1496 func (builder *InsertDimensionBuilder) DimensionRange(dimensionRange *Dimension) *InsertDimensionBuilder { 1497 builder.dimensionRange = dimensionRange 1498 builder.dimensionRangeFlag = true 1499 return builder 1500 } 1501 1502 // 是否继承上/下一行/列样式 1503 // 1504 // 示例值:Before 1505 func (builder *InsertDimensionBuilder) InheritFrom(inheritFrom string) *InsertDimensionBuilder { 1506 builder.inheritFrom = inheritFrom 1507 builder.inheritFromFlag = true 1508 return builder 1509 } 1510 1511 func (builder *InsertDimensionBuilder) Build() *InsertDimension { 1512 req := &InsertDimension{} 1513 if builder.dimensionRangeFlag { 1514 req.DimensionRange = builder.dimensionRange 1515 } 1516 if builder.inheritFromFlag { 1517 req.InheritFrom = &builder.inheritFrom 1518 1519 } 1520 return req 1521 } 1522 1523 type Link struct { 1524 Text *string `json:"text,omitempty"` // 文本 1525 Link *string `json:"link,omitempty"` // 链接 1526 SegmentStyles []*SegmentStyle `json:"segment_styles,omitempty"` // 1527 } 1528 1529 type LinkBuilder struct { 1530 text string // 文本 1531 textFlag bool 1532 link string // 链接 1533 linkFlag bool 1534 segmentStyles []*SegmentStyle // 1535 segmentStylesFlag bool 1536 } 1537 1538 func NewLinkBuilder() *LinkBuilder { 1539 builder := &LinkBuilder{} 1540 return builder 1541 } 1542 1543 // 文本 1544 // 1545 // 示例值:text 1546 func (builder *LinkBuilder) Text(text string) *LinkBuilder { 1547 builder.text = text 1548 builder.textFlag = true 1549 return builder 1550 } 1551 1552 // 链接 1553 // 1554 // 示例值:www.xxxx.cn 1555 func (builder *LinkBuilder) Link(link string) *LinkBuilder { 1556 builder.link = link 1557 builder.linkFlag = true 1558 return builder 1559 } 1560 1561 // 1562 // 1563 // 示例值: 1564 func (builder *LinkBuilder) SegmentStyles(segmentStyles []*SegmentStyle) *LinkBuilder { 1565 builder.segmentStyles = segmentStyles 1566 builder.segmentStylesFlag = true 1567 return builder 1568 } 1569 1570 func (builder *LinkBuilder) Build() *Link { 1571 req := &Link{} 1572 if builder.textFlag { 1573 req.Text = &builder.text 1574 1575 } 1576 if builder.linkFlag { 1577 req.Link = &builder.link 1578 1579 } 1580 if builder.segmentStylesFlag { 1581 req.SegmentStyles = builder.segmentStyles 1582 } 1583 return req 1584 } 1585 1586 type MentionDocument struct { 1587 Title *string `json:"title,omitempty"` // 文档标题 1588 ObjectType *string `json:"object_type,omitempty"` // 文档类型 1589 Token *string `json:"token,omitempty"` // 文档token 1590 SegmentStyle *SegmentStyle `json:"segment_style,omitempty"` // 1591 } 1592 1593 type MentionDocumentBuilder struct { 1594 title string // 文档标题 1595 titleFlag bool 1596 objectType string // 文档类型 1597 objectTypeFlag bool 1598 token string // 文档token 1599 tokenFlag bool 1600 segmentStyle *SegmentStyle // 1601 segmentStyleFlag bool 1602 } 1603 1604 func NewMentionDocumentBuilder() *MentionDocumentBuilder { 1605 builder := &MentionDocumentBuilder{} 1606 return builder 1607 } 1608 1609 // 文档标题 1610 // 1611 // 示例值:abc 1612 func (builder *MentionDocumentBuilder) Title(title string) *MentionDocumentBuilder { 1613 builder.title = title 1614 builder.titleFlag = true 1615 return builder 1616 } 1617 1618 // 文档类型 1619 // 1620 // 示例值:sheet 1621 func (builder *MentionDocumentBuilder) ObjectType(objectType string) *MentionDocumentBuilder { 1622 builder.objectType = objectType 1623 builder.objectTypeFlag = true 1624 return builder 1625 } 1626 1627 // 文档token 1628 // 1629 // 示例值:shtxxxxxxxxx 1630 func (builder *MentionDocumentBuilder) Token(token string) *MentionDocumentBuilder { 1631 builder.token = token 1632 builder.tokenFlag = true 1633 return builder 1634 } 1635 1636 // 1637 // 1638 // 示例值: 1639 func (builder *MentionDocumentBuilder) SegmentStyle(segmentStyle *SegmentStyle) *MentionDocumentBuilder { 1640 builder.segmentStyle = segmentStyle 1641 builder.segmentStyleFlag = true 1642 return builder 1643 } 1644 1645 func (builder *MentionDocumentBuilder) Build() *MentionDocument { 1646 req := &MentionDocument{} 1647 if builder.titleFlag { 1648 req.Title = &builder.title 1649 1650 } 1651 if builder.objectTypeFlag { 1652 req.ObjectType = &builder.objectType 1653 1654 } 1655 if builder.tokenFlag { 1656 req.Token = &builder.token 1657 1658 } 1659 if builder.segmentStyleFlag { 1660 req.SegmentStyle = builder.segmentStyle 1661 } 1662 return req 1663 } 1664 1665 type MentionUser struct { 1666 Name *string `json:"name,omitempty"` // 用户名 1667 UserId *string `json:"user_id,omitempty"` // 用户id 1668 Notify *bool `json:"notify,omitempty"` // 是否通知用户 1669 SegmentStyle *SegmentStyle `json:"segment_style,omitempty"` // 1670 } 1671 1672 type MentionUserBuilder struct { 1673 name string // 用户名 1674 nameFlag bool 1675 userId string // 用户id 1676 userIdFlag bool 1677 notify bool // 是否通知用户 1678 notifyFlag bool 1679 segmentStyle *SegmentStyle // 1680 segmentStyleFlag bool 1681 } 1682 1683 func NewMentionUserBuilder() *MentionUserBuilder { 1684 builder := &MentionUserBuilder{} 1685 return builder 1686 } 1687 1688 // 用户名 1689 // 1690 // 示例值:李四 1691 func (builder *MentionUserBuilder) Name(name string) *MentionUserBuilder { 1692 builder.name = name 1693 builder.nameFlag = true 1694 return builder 1695 } 1696 1697 // 用户id 1698 // 1699 // 示例值:ou_xxxxxxx 1700 func (builder *MentionUserBuilder) UserId(userId string) *MentionUserBuilder { 1701 builder.userId = userId 1702 builder.userIdFlag = true 1703 return builder 1704 } 1705 1706 // 是否通知用户 1707 // 1708 // 示例值:true 1709 func (builder *MentionUserBuilder) Notify(notify bool) *MentionUserBuilder { 1710 builder.notify = notify 1711 builder.notifyFlag = true 1712 return builder 1713 } 1714 1715 // 1716 // 1717 // 示例值: 1718 func (builder *MentionUserBuilder) SegmentStyle(segmentStyle *SegmentStyle) *MentionUserBuilder { 1719 builder.segmentStyle = segmentStyle 1720 builder.segmentStyleFlag = true 1721 return builder 1722 } 1723 1724 func (builder *MentionUserBuilder) Build() *MentionUser { 1725 req := &MentionUser{} 1726 if builder.nameFlag { 1727 req.Name = &builder.name 1728 1729 } 1730 if builder.userIdFlag { 1731 req.UserId = &builder.userId 1732 1733 } 1734 if builder.notifyFlag { 1735 req.Notify = &builder.notify 1736 1737 } 1738 if builder.segmentStyleFlag { 1739 req.SegmentStyle = builder.segmentStyle 1740 } 1741 return req 1742 } 1743 1744 type MergeCell struct { 1745 Range *MergeRange `json:"range,omitempty"` // 合并单元格的范围 1746 MergeType *string `json:"merge_type,omitempty"` // 合并单元格类型 1747 } 1748 1749 type MergeCellBuilder struct { 1750 range_ *MergeRange // 合并单元格的范围 1751 rangeFlag bool 1752 mergeType string // 合并单元格类型 1753 mergeTypeFlag bool 1754 } 1755 1756 func NewMergeCellBuilder() *MergeCellBuilder { 1757 builder := &MergeCellBuilder{} 1758 return builder 1759 } 1760 1761 // 合并单元格的范围 1762 // 1763 // 示例值:Zj2ts!A1:B2 1764 func (builder *MergeCellBuilder) Range(range_ *MergeRange) *MergeCellBuilder { 1765 builder.range_ = range_ 1766 builder.rangeFlag = true 1767 return builder 1768 } 1769 1770 // 合并单元格类型 1771 // 1772 // 示例值:MergeAll 1773 func (builder *MergeCellBuilder) MergeType(mergeType string) *MergeCellBuilder { 1774 builder.mergeType = mergeType 1775 builder.mergeTypeFlag = true 1776 return builder 1777 } 1778 1779 func (builder *MergeCellBuilder) Build() *MergeCell { 1780 req := &MergeCell{} 1781 if builder.rangeFlag { 1782 req.Range = builder.range_ 1783 } 1784 if builder.mergeTypeFlag { 1785 req.MergeType = &builder.mergeType 1786 1787 } 1788 return req 1789 } 1790 1791 type MergeRange struct { 1792 StartRowIndex *int `json:"start_row_index,omitempty"` // 起始行 1793 EndRowIndex *int `json:"end_row_index,omitempty"` // 结束行 1794 StartColumnIndex *int `json:"start_column_index,omitempty"` // 起始列 1795 EndColumnIndex *int `json:"end_column_index,omitempty"` // 结束列 1796 } 1797 1798 type MergeRangeBuilder struct { 1799 startRowIndex int // 起始行 1800 startRowIndexFlag bool 1801 endRowIndex int // 结束行 1802 endRowIndexFlag bool 1803 startColumnIndex int // 起始列 1804 startColumnIndexFlag bool 1805 endColumnIndex int // 结束列 1806 endColumnIndexFlag bool 1807 } 1808 1809 func NewMergeRangeBuilder() *MergeRangeBuilder { 1810 builder := &MergeRangeBuilder{} 1811 return builder 1812 } 1813 1814 // 起始行 1815 // 1816 // 示例值:0 1817 func (builder *MergeRangeBuilder) StartRowIndex(startRowIndex int) *MergeRangeBuilder { 1818 builder.startRowIndex = startRowIndex 1819 builder.startRowIndexFlag = true 1820 return builder 1821 } 1822 1823 // 结束行 1824 // 1825 // 示例值:0 1826 func (builder *MergeRangeBuilder) EndRowIndex(endRowIndex int) *MergeRangeBuilder { 1827 builder.endRowIndex = endRowIndex 1828 builder.endRowIndexFlag = true 1829 return builder 1830 } 1831 1832 // 起始列 1833 // 1834 // 示例值:0 1835 func (builder *MergeRangeBuilder) StartColumnIndex(startColumnIndex int) *MergeRangeBuilder { 1836 builder.startColumnIndex = startColumnIndex 1837 builder.startColumnIndexFlag = true 1838 return builder 1839 } 1840 1841 // 结束列 1842 // 1843 // 示例值:0 1844 func (builder *MergeRangeBuilder) EndColumnIndex(endColumnIndex int) *MergeRangeBuilder { 1845 builder.endColumnIndex = endColumnIndex 1846 builder.endColumnIndexFlag = true 1847 return builder 1848 } 1849 1850 func (builder *MergeRangeBuilder) Build() *MergeRange { 1851 req := &MergeRange{} 1852 if builder.startRowIndexFlag { 1853 req.StartRowIndex = &builder.startRowIndex 1854 1855 } 1856 if builder.endRowIndexFlag { 1857 req.EndRowIndex = &builder.endRowIndex 1858 1859 } 1860 if builder.startColumnIndexFlag { 1861 req.StartColumnIndex = &builder.startColumnIndex 1862 1863 } 1864 if builder.endColumnIndexFlag { 1865 req.EndColumnIndex = &builder.endColumnIndex 1866 1867 } 1868 return req 1869 } 1870 1871 type MoveDimension struct { 1872 Source *Dimension `json:"source,omitempty"` // 移动源位置参数 1873 DestinationIndex *int `json:"destination_index,omitempty"` // 移动的目标位置行或者列号 1874 } 1875 1876 type MoveDimensionBuilder struct { 1877 source *Dimension // 移动源位置参数 1878 sourceFlag bool 1879 destinationIndex int // 移动的目标位置行或者列号 1880 destinationIndexFlag bool 1881 } 1882 1883 func NewMoveDimensionBuilder() *MoveDimensionBuilder { 1884 builder := &MoveDimensionBuilder{} 1885 return builder 1886 } 1887 1888 // 移动源位置参数 1889 // 1890 // 示例值: 1891 func (builder *MoveDimensionBuilder) Source(source *Dimension) *MoveDimensionBuilder { 1892 builder.source = source 1893 builder.sourceFlag = true 1894 return builder 1895 } 1896 1897 // 移动的目标位置行或者列号 1898 // 1899 // 示例值:4 1900 func (builder *MoveDimensionBuilder) DestinationIndex(destinationIndex int) *MoveDimensionBuilder { 1901 builder.destinationIndex = destinationIndex 1902 builder.destinationIndexFlag = true 1903 return builder 1904 } 1905 1906 func (builder *MoveDimensionBuilder) Build() *MoveDimension { 1907 req := &MoveDimension{} 1908 if builder.sourceFlag { 1909 req.Source = builder.source 1910 } 1911 if builder.destinationIndexFlag { 1912 req.DestinationIndex = &builder.destinationIndex 1913 1914 } 1915 return req 1916 } 1917 1918 type MultiRange struct { 1919 Ranges []string `json:"ranges,omitempty"` // 同一个工作表的多个范围 1920 } 1921 1922 type MultiRangeBuilder struct { 1923 ranges []string // 同一个工作表的多个范围 1924 rangesFlag bool 1925 } 1926 1927 func NewMultiRangeBuilder() *MultiRangeBuilder { 1928 builder := &MultiRangeBuilder{} 1929 return builder 1930 } 1931 1932 // 同一个工作表的多个范围 1933 // 1934 // 示例值:Sheet1!A1:B2 1935 func (builder *MultiRangeBuilder) Ranges(ranges []string) *MultiRangeBuilder { 1936 builder.ranges = ranges 1937 builder.rangesFlag = true 1938 return builder 1939 } 1940 1941 func (builder *MultiRangeBuilder) Build() *MultiRange { 1942 req := &MultiRange{} 1943 if builder.rangesFlag { 1944 req.Ranges = builder.ranges 1945 } 1946 return req 1947 } 1948 1949 type PlainTextValueRange struct { 1950 Range *string `json:"range,omitempty"` // 范围 1951 Values [][]string `json:"values,omitempty"` // 数据 1952 } 1953 1954 type PlainTextValueRangeBuilder struct { 1955 range_ string // 范围 1956 rangeFlag bool 1957 values [][]string // 数据 1958 valuesFlag bool 1959 } 1960 1961 func NewPlainTextValueRangeBuilder() *PlainTextValueRangeBuilder { 1962 builder := &PlainTextValueRangeBuilder{} 1963 return builder 1964 } 1965 1966 // 范围 1967 // 1968 // 示例值:Sheet1!A1:B2 1969 func (builder *PlainTextValueRangeBuilder) Range(range_ string) *PlainTextValueRangeBuilder { 1970 builder.range_ = range_ 1971 builder.rangeFlag = true 1972 return builder 1973 } 1974 1975 // 数据 1976 // 1977 // 示例值: 1978 func (builder *PlainTextValueRangeBuilder) Values(values [][]string) *PlainTextValueRangeBuilder { 1979 builder.values = values 1980 builder.valuesFlag = true 1981 return builder 1982 } 1983 1984 func (builder *PlainTextValueRangeBuilder) Build() *PlainTextValueRange { 1985 req := &PlainTextValueRange{} 1986 if builder.rangeFlag { 1987 req.Range = &builder.range_ 1988 1989 } 1990 if builder.valuesFlag { 1991 req.Values = builder.values 1992 } 1993 return req 1994 } 1995 1996 type Reminder struct { 1997 NotifyDateTime *string `json:"notify_date_time,omitempty"` // 时间日期 1998 NotifyUserId []string `json:"notify_user_id,omitempty"` // 提醒人员 1999 NotifyText *string `json:"notify_text,omitempty"` // 提醒内容 2000 NotifyStrategy *string `json:"notify_strategy,omitempty"` // 提醒策略 2001 } 2002 2003 type ReminderBuilder struct { 2004 notifyDateTime string // 时间日期 2005 notifyDateTimeFlag bool 2006 notifyUserId []string // 提醒人员 2007 notifyUserIdFlag bool 2008 notifyText string // 提醒内容 2009 notifyTextFlag bool 2010 notifyStrategy string // 提醒策略 2011 notifyStrategyFlag bool 2012 } 2013 2014 func NewReminderBuilder() *ReminderBuilder { 2015 builder := &ReminderBuilder{} 2016 return builder 2017 } 2018 2019 // 时间日期 2020 // 2021 // 示例值:2022/2/2 13:33 2022 func (builder *ReminderBuilder) NotifyDateTime(notifyDateTime string) *ReminderBuilder { 2023 builder.notifyDateTime = notifyDateTime 2024 builder.notifyDateTimeFlag = true 2025 return builder 2026 } 2027 2028 // 提醒人员 2029 // 2030 // 示例值:ou_xxxxxx 2031 func (builder *ReminderBuilder) NotifyUserId(notifyUserId []string) *ReminderBuilder { 2032 builder.notifyUserId = notifyUserId 2033 builder.notifyUserIdFlag = true 2034 return builder 2035 } 2036 2037 // 提醒内容 2038 // 2039 // 示例值:hello 2040 func (builder *ReminderBuilder) NotifyText(notifyText string) *ReminderBuilder { 2041 builder.notifyText = notifyText 2042 builder.notifyTextFlag = true 2043 return builder 2044 } 2045 2046 // 提醒策略 2047 // 2048 // 示例值:AT_TIME 2049 func (builder *ReminderBuilder) NotifyStrategy(notifyStrategy string) *ReminderBuilder { 2050 builder.notifyStrategy = notifyStrategy 2051 builder.notifyStrategyFlag = true 2052 return builder 2053 } 2054 2055 func (builder *ReminderBuilder) Build() *Reminder { 2056 req := &Reminder{} 2057 if builder.notifyDateTimeFlag { 2058 req.NotifyDateTime = &builder.notifyDateTime 2059 2060 } 2061 if builder.notifyUserIdFlag { 2062 req.NotifyUserId = builder.notifyUserId 2063 } 2064 if builder.notifyTextFlag { 2065 req.NotifyText = &builder.notifyText 2066 2067 } 2068 if builder.notifyStrategyFlag { 2069 req.NotifyStrategy = &builder.notifyStrategy 2070 2071 } 2072 return req 2073 } 2074 2075 type Replace struct { 2076 FindCondition *FindCondition `json:"find_condition,omitempty"` // 查找条件 2077 Find *string `json:"find,omitempty"` // 查找的字符串 2078 Replacement *string `json:"replacement,omitempty"` // 替换的字符串 2079 } 2080 2081 type ReplaceBuilder struct { 2082 findCondition *FindCondition // 查找条件 2083 findConditionFlag bool 2084 find string // 查找的字符串 2085 findFlag bool 2086 replacement string // 替换的字符串 2087 replacementFlag bool 2088 } 2089 2090 func NewReplaceBuilder() *ReplaceBuilder { 2091 builder := &ReplaceBuilder{} 2092 return builder 2093 } 2094 2095 // 查找条件 2096 // 2097 // 示例值: 2098 func (builder *ReplaceBuilder) FindCondition(findCondition *FindCondition) *ReplaceBuilder { 2099 builder.findCondition = findCondition 2100 builder.findConditionFlag = true 2101 return builder 2102 } 2103 2104 // 查找的字符串 2105 // 2106 // 示例值:hello 2107 func (builder *ReplaceBuilder) Find(find string) *ReplaceBuilder { 2108 builder.find = find 2109 builder.findFlag = true 2110 return builder 2111 } 2112 2113 // 替换的字符串 2114 // 2115 // 示例值:world 2116 func (builder *ReplaceBuilder) Replacement(replacement string) *ReplaceBuilder { 2117 builder.replacement = replacement 2118 builder.replacementFlag = true 2119 return builder 2120 } 2121 2122 func (builder *ReplaceBuilder) Build() *Replace { 2123 req := &Replace{} 2124 if builder.findConditionFlag { 2125 req.FindCondition = builder.findCondition 2126 } 2127 if builder.findFlag { 2128 req.Find = &builder.find 2129 2130 } 2131 if builder.replacementFlag { 2132 req.Replacement = &builder.replacement 2133 2134 } 2135 return req 2136 } 2137 2138 type RichTextValueRange struct { 2139 Range *string `json:"range,omitempty"` // 范围 2140 Values [][][]*CellValue `json:"values,omitempty"` // 数据 2141 } 2142 2143 type RichTextValueRangeBuilder struct { 2144 range_ string // 范围 2145 rangeFlag bool 2146 values [][][]*CellValue // 数据 2147 valuesFlag bool 2148 } 2149 2150 func NewRichTextValueRangeBuilder() *RichTextValueRangeBuilder { 2151 builder := &RichTextValueRangeBuilder{} 2152 return builder 2153 } 2154 2155 // 范围 2156 // 2157 // 示例值:Sheet1!A1:A2 2158 func (builder *RichTextValueRangeBuilder) Range(range_ string) *RichTextValueRangeBuilder { 2159 builder.range_ = range_ 2160 builder.rangeFlag = true 2161 return builder 2162 } 2163 2164 // 数据 2165 // 2166 // 示例值: 2167 func (builder *RichTextValueRangeBuilder) Values(values [][][]*CellValue) *RichTextValueRangeBuilder { 2168 builder.values = values 2169 builder.valuesFlag = true 2170 return builder 2171 } 2172 2173 func (builder *RichTextValueRangeBuilder) Build() *RichTextValueRange { 2174 req := &RichTextValueRange{} 2175 if builder.rangeFlag { 2176 req.Range = &builder.range_ 2177 2178 } 2179 if builder.valuesFlag { 2180 req.Values = builder.values 2181 } 2182 return req 2183 } 2184 2185 type RichValue struct { 2186 Values [][][]*CellValue `json:"values,omitempty"` // 数据,数据结构参见[单元格数据结构](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-value/cell-data-structure) 2187 } 2188 2189 type RichValueBuilder struct { 2190 values [][][]*CellValue // 数据,数据结构参见[单元格数据结构](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-value/cell-data-structure) 2191 valuesFlag bool 2192 } 2193 2194 func NewRichValueBuilder() *RichValueBuilder { 2195 builder := &RichValueBuilder{} 2196 return builder 2197 } 2198 2199 // 数据,数据结构参见[单元格数据结构](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-value/cell-data-structure) 2200 // 2201 // 示例值:数据 2202 func (builder *RichValueBuilder) Values(values [][][]*CellValue) *RichValueBuilder { 2203 builder.values = values 2204 builder.valuesFlag = true 2205 return builder 2206 } 2207 2208 func (builder *RichValueBuilder) Build() *RichValue { 2209 req := &RichValue{} 2210 if builder.valuesFlag { 2211 req.Values = builder.values 2212 } 2213 return req 2214 } 2215 2216 type SegmentStyle struct { 2217 AffectedText *string `json:"affected_text,omitempty"` // 影响的文本 2218 Style *SegmentStyleStyle `json:"style,omitempty"` // 样式 2219 } 2220 2221 type SegmentStyleBuilder struct { 2222 affectedText string // 影响的文本 2223 affectedTextFlag bool 2224 style *SegmentStyleStyle // 样式 2225 styleFlag bool 2226 } 2227 2228 func NewSegmentStyleBuilder() *SegmentStyleBuilder { 2229 builder := &SegmentStyleBuilder{} 2230 return builder 2231 } 2232 2233 // 影响的文本 2234 // 2235 // 示例值:a 2236 func (builder *SegmentStyleBuilder) AffectedText(affectedText string) *SegmentStyleBuilder { 2237 builder.affectedText = affectedText 2238 builder.affectedTextFlag = true 2239 return builder 2240 } 2241 2242 // 样式 2243 // 2244 // 示例值: 2245 func (builder *SegmentStyleBuilder) Style(style *SegmentStyleStyle) *SegmentStyleBuilder { 2246 builder.style = style 2247 builder.styleFlag = true 2248 return builder 2249 } 2250 2251 func (builder *SegmentStyleBuilder) Build() *SegmentStyle { 2252 req := &SegmentStyle{} 2253 if builder.affectedTextFlag { 2254 req.AffectedText = &builder.affectedText 2255 2256 } 2257 if builder.styleFlag { 2258 req.Style = builder.style 2259 } 2260 return req 2261 } 2262 2263 type SegmentStyleStyle struct { 2264 Bold *bool `json:"bold,omitempty"` // 加粗 2265 Italic *bool `json:"italic,omitempty"` // 斜体 2266 StrikeThrough *bool `json:"strike_through,omitempty"` // 删除线 2267 Underline *bool `json:"underline,omitempty"` // 下划线 2268 ForeColor *string `json:"fore_color,omitempty"` // 字体颜色 2269 FontSize *int `json:"font_size,omitempty"` // 字体大小 2270 } 2271 2272 type SegmentStyleStyleBuilder struct { 2273 bold bool // 加粗 2274 boldFlag bool 2275 italic bool // 斜体 2276 italicFlag bool 2277 strikeThrough bool // 删除线 2278 strikeThroughFlag bool 2279 underline bool // 下划线 2280 underlineFlag bool 2281 foreColor string // 字体颜色 2282 foreColorFlag bool 2283 fontSize int // 字体大小 2284 fontSizeFlag bool 2285 } 2286 2287 func NewSegmentStyleStyleBuilder() *SegmentStyleStyleBuilder { 2288 builder := &SegmentStyleStyleBuilder{} 2289 return builder 2290 } 2291 2292 // 加粗 2293 // 2294 // 示例值:true 2295 func (builder *SegmentStyleStyleBuilder) Bold(bold bool) *SegmentStyleStyleBuilder { 2296 builder.bold = bold 2297 builder.boldFlag = true 2298 return builder 2299 } 2300 2301 // 斜体 2302 // 2303 // 示例值:true 2304 func (builder *SegmentStyleStyleBuilder) Italic(italic bool) *SegmentStyleStyleBuilder { 2305 builder.italic = italic 2306 builder.italicFlag = true 2307 return builder 2308 } 2309 2310 // 删除线 2311 // 2312 // 示例值:true 2313 func (builder *SegmentStyleStyleBuilder) StrikeThrough(strikeThrough bool) *SegmentStyleStyleBuilder { 2314 builder.strikeThrough = strikeThrough 2315 builder.strikeThroughFlag = true 2316 return builder 2317 } 2318 2319 // 下划线 2320 // 2321 // 示例值:true 2322 func (builder *SegmentStyleStyleBuilder) Underline(underline bool) *SegmentStyleStyleBuilder { 2323 builder.underline = underline 2324 builder.underlineFlag = true 2325 return builder 2326 } 2327 2328 // 字体颜色 2329 // 2330 // 示例值:#ff00ff 2331 func (builder *SegmentStyleStyleBuilder) ForeColor(foreColor string) *SegmentStyleStyleBuilder { 2332 builder.foreColor = foreColor 2333 builder.foreColorFlag = true 2334 return builder 2335 } 2336 2337 // 字体大小 2338 // 2339 // 示例值: 2340 func (builder *SegmentStyleStyleBuilder) FontSize(fontSize int) *SegmentStyleStyleBuilder { 2341 builder.fontSize = fontSize 2342 builder.fontSizeFlag = true 2343 return builder 2344 } 2345 2346 func (builder *SegmentStyleStyleBuilder) Build() *SegmentStyleStyle { 2347 req := &SegmentStyleStyle{} 2348 if builder.boldFlag { 2349 req.Bold = &builder.bold 2350 2351 } 2352 if builder.italicFlag { 2353 req.Italic = &builder.italic 2354 2355 } 2356 if builder.strikeThroughFlag { 2357 req.StrikeThrough = &builder.strikeThrough 2358 2359 } 2360 if builder.underlineFlag { 2361 req.Underline = &builder.underline 2362 2363 } 2364 if builder.foreColorFlag { 2365 req.ForeColor = &builder.foreColor 2366 2367 } 2368 if builder.fontSizeFlag { 2369 req.FontSize = &builder.fontSize 2370 2371 } 2372 return req 2373 } 2374 2375 type Sheet struct { 2376 SheetId *string `json:"sheet_id,omitempty"` // 工作表id 2377 Title *string `json:"title,omitempty"` // 工作表标题 2378 Index *int `json:"index,omitempty"` // 工作表索引位置 2379 Hidden *bool `json:"hidden,omitempty"` // 工作表是否被隐藏 2380 GridProperties *GridProperties `json:"grid_properties,omitempty"` // 单元格属性 2381 ResourceType *string `json:"resource_type,omitempty"` // 工作表类型 2382 Merges []*MergeRange `json:"merges,omitempty"` // 合并单元格 2383 } 2384 2385 type SheetBuilder struct { 2386 sheetId string // 工作表id 2387 sheetIdFlag bool 2388 title string // 工作表标题 2389 titleFlag bool 2390 index int // 工作表索引位置 2391 indexFlag bool 2392 hidden bool // 工作表是否被隐藏 2393 hiddenFlag bool 2394 gridProperties *GridProperties // 单元格属性 2395 gridPropertiesFlag bool 2396 resourceType string // 工作表类型 2397 resourceTypeFlag bool 2398 merges []*MergeRange // 合并单元格 2399 mergesFlag bool 2400 } 2401 2402 func NewSheetBuilder() *SheetBuilder { 2403 builder := &SheetBuilder{} 2404 return builder 2405 } 2406 2407 // 工作表id 2408 // 2409 // 示例值:sxj5ws 2410 func (builder *SheetBuilder) SheetId(sheetId string) *SheetBuilder { 2411 builder.sheetId = sheetId 2412 builder.sheetIdFlag = true 2413 return builder 2414 } 2415 2416 // 工作表标题 2417 // 2418 // 示例值:title 2419 func (builder *SheetBuilder) Title(title string) *SheetBuilder { 2420 builder.title = title 2421 builder.titleFlag = true 2422 return builder 2423 } 2424 2425 // 工作表索引位置 2426 // 2427 // 示例值:0 2428 func (builder *SheetBuilder) Index(index int) *SheetBuilder { 2429 builder.index = index 2430 builder.indexFlag = true 2431 return builder 2432 } 2433 2434 // 工作表是否被隐藏 2435 // 2436 // 示例值:false 2437 func (builder *SheetBuilder) Hidden(hidden bool) *SheetBuilder { 2438 builder.hidden = hidden 2439 builder.hiddenFlag = true 2440 return builder 2441 } 2442 2443 // 单元格属性 2444 // 2445 // 示例值: 2446 func (builder *SheetBuilder) GridProperties(gridProperties *GridProperties) *SheetBuilder { 2447 builder.gridProperties = gridProperties 2448 builder.gridPropertiesFlag = true 2449 return builder 2450 } 2451 2452 // 工作表类型 2453 // 2454 // 示例值:sheet 2455 func (builder *SheetBuilder) ResourceType(resourceType string) *SheetBuilder { 2456 builder.resourceType = resourceType 2457 builder.resourceTypeFlag = true 2458 return builder 2459 } 2460 2461 // 合并单元格 2462 // 2463 // 示例值: 2464 func (builder *SheetBuilder) Merges(merges []*MergeRange) *SheetBuilder { 2465 builder.merges = merges 2466 builder.mergesFlag = true 2467 return builder 2468 } 2469 2470 func (builder *SheetBuilder) Build() *Sheet { 2471 req := &Sheet{} 2472 if builder.sheetIdFlag { 2473 req.SheetId = &builder.sheetId 2474 2475 } 2476 if builder.titleFlag { 2477 req.Title = &builder.title 2478 2479 } 2480 if builder.indexFlag { 2481 req.Index = &builder.index 2482 2483 } 2484 if builder.hiddenFlag { 2485 req.Hidden = &builder.hidden 2486 2487 } 2488 if builder.gridPropertiesFlag { 2489 req.GridProperties = builder.gridProperties 2490 } 2491 if builder.resourceTypeFlag { 2492 req.ResourceType = &builder.resourceType 2493 2494 } 2495 if builder.mergesFlag { 2496 req.Merges = builder.merges 2497 } 2498 return req 2499 } 2500 2501 type SheetFilterInfo struct { 2502 Range *string `json:"range,omitempty"` // 筛选应用范围 2503 FilteredOutRows []int `json:"filtered_out_rows,omitempty"` // 筛选出来隐藏的行 2504 FilterInfos []*FilterInfo `json:"filter_infos,omitempty"` // sheet的筛选条件 2505 } 2506 2507 type SheetFilterInfoBuilder struct { 2508 range_ string // 筛选应用范围 2509 rangeFlag bool 2510 filteredOutRows []int // 筛选出来隐藏的行 2511 filteredOutRowsFlag bool 2512 filterInfos []*FilterInfo // sheet的筛选条件 2513 filterInfosFlag bool 2514 } 2515 2516 func NewSheetFilterInfoBuilder() *SheetFilterInfoBuilder { 2517 builder := &SheetFilterInfoBuilder{} 2518 return builder 2519 } 2520 2521 // 筛选应用范围 2522 // 2523 // 示例值:xxxxxx!A1:H14 2524 func (builder *SheetFilterInfoBuilder) Range(range_ string) *SheetFilterInfoBuilder { 2525 builder.range_ = range_ 2526 builder.rangeFlag = true 2527 return builder 2528 } 2529 2530 // 筛选出来隐藏的行 2531 // 2532 // 示例值: 2533 func (builder *SheetFilterInfoBuilder) FilteredOutRows(filteredOutRows []int) *SheetFilterInfoBuilder { 2534 builder.filteredOutRows = filteredOutRows 2535 builder.filteredOutRowsFlag = true 2536 return builder 2537 } 2538 2539 // sheet的筛选条件 2540 // 2541 // 示例值: 2542 func (builder *SheetFilterInfoBuilder) FilterInfos(filterInfos []*FilterInfo) *SheetFilterInfoBuilder { 2543 builder.filterInfos = filterInfos 2544 builder.filterInfosFlag = true 2545 return builder 2546 } 2547 2548 func (builder *SheetFilterInfoBuilder) Build() *SheetFilterInfo { 2549 req := &SheetFilterInfo{} 2550 if builder.rangeFlag { 2551 req.Range = &builder.range_ 2552 2553 } 2554 if builder.filteredOutRowsFlag { 2555 req.FilteredOutRows = builder.filteredOutRows 2556 } 2557 if builder.filterInfosFlag { 2558 req.FilterInfos = builder.filterInfos 2559 } 2560 return req 2561 } 2562 2563 type SheetProperties struct { 2564 RowCount *int `json:"row_count,omitempty"` // 工作表行数 2565 ColumnCount *int `json:"column_count,omitempty"` // 工作表列数 2566 FrozenRowCount *int `json:"frozen_row_count,omitempty"` // 冻结行数 2567 FrozenColumnCount *int `json:"frozen_column_count,omitempty"` // 冻结列数 2568 } 2569 2570 type SheetPropertiesBuilder struct { 2571 rowCount int // 工作表行数 2572 rowCountFlag bool 2573 columnCount int // 工作表列数 2574 columnCountFlag bool 2575 frozenRowCount int // 冻结行数 2576 frozenRowCountFlag bool 2577 frozenColumnCount int // 冻结列数 2578 frozenColumnCountFlag bool 2579 } 2580 2581 func NewSheetPropertiesBuilder() *SheetPropertiesBuilder { 2582 builder := &SheetPropertiesBuilder{} 2583 return builder 2584 } 2585 2586 // 工作表行数 2587 // 2588 // 示例值:1 2589 func (builder *SheetPropertiesBuilder) RowCount(rowCount int) *SheetPropertiesBuilder { 2590 builder.rowCount = rowCount 2591 builder.rowCountFlag = true 2592 return builder 2593 } 2594 2595 // 工作表列数 2596 // 2597 // 示例值:1 2598 func (builder *SheetPropertiesBuilder) ColumnCount(columnCount int) *SheetPropertiesBuilder { 2599 builder.columnCount = columnCount 2600 builder.columnCountFlag = true 2601 return builder 2602 } 2603 2604 // 冻结行数 2605 // 2606 // 示例值:1 2607 func (builder *SheetPropertiesBuilder) FrozenRowCount(frozenRowCount int) *SheetPropertiesBuilder { 2608 builder.frozenRowCount = frozenRowCount 2609 builder.frozenRowCountFlag = true 2610 return builder 2611 } 2612 2613 // 冻结列数 2614 // 2615 // 示例值:1 2616 func (builder *SheetPropertiesBuilder) FrozenColumnCount(frozenColumnCount int) *SheetPropertiesBuilder { 2617 builder.frozenColumnCount = frozenColumnCount 2618 builder.frozenColumnCountFlag = true 2619 return builder 2620 } 2621 2622 func (builder *SheetPropertiesBuilder) Build() *SheetProperties { 2623 req := &SheetProperties{} 2624 if builder.rowCountFlag { 2625 req.RowCount = &builder.rowCount 2626 2627 } 2628 if builder.columnCountFlag { 2629 req.ColumnCount = &builder.columnCount 2630 2631 } 2632 if builder.frozenRowCountFlag { 2633 req.FrozenRowCount = &builder.frozenRowCount 2634 2635 } 2636 if builder.frozenColumnCountFlag { 2637 req.FrozenColumnCount = &builder.frozenColumnCount 2638 2639 } 2640 return req 2641 } 2642 2643 type Spreadsheet struct { 2644 Title *string `json:"title,omitempty"` // 表格标题 2645 FolderToken *string `json:"folder_token,omitempty"` // 文件夹token,获取方式见[概述](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/files/guide/introduction) 2646 Url *string `json:"url,omitempty"` // 文档url 2647 SpreadsheetToken *string `json:"spreadsheet_token,omitempty"` // 表格token 2648 } 2649 2650 type SpreadsheetBuilder struct { 2651 title string // 表格标题 2652 titleFlag bool 2653 folderToken string // 文件夹token,获取方式见[概述](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/files/guide/introduction) 2654 folderTokenFlag bool 2655 url string // 文档url 2656 urlFlag bool 2657 spreadsheetToken string // 表格token 2658 spreadsheetTokenFlag bool 2659 } 2660 2661 func NewSpreadsheetBuilder() *SpreadsheetBuilder { 2662 builder := &SpreadsheetBuilder{} 2663 return builder 2664 } 2665 2666 // 表格标题 2667 // 2668 // 示例值:title 2669 func (builder *SpreadsheetBuilder) Title(title string) *SpreadsheetBuilder { 2670 builder.title = title 2671 builder.titleFlag = true 2672 return builder 2673 } 2674 2675 // 文件夹token,获取方式见[概述](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/files/guide/introduction) 2676 // 2677 // 示例值:fldcnMsNb*****hIW9IjG1LVswg 2678 func (builder *SpreadsheetBuilder) FolderToken(folderToken string) *SpreadsheetBuilder { 2679 builder.folderToken = folderToken 2680 builder.folderTokenFlag = true 2681 return builder 2682 } 2683 2684 // 文档url 2685 // 2686 // 示例值:https://bytedance.feishu.cn/sheets/shtcnmBA*****yGehy8 2687 func (builder *SpreadsheetBuilder) Url(url string) *SpreadsheetBuilder { 2688 builder.url = url 2689 builder.urlFlag = true 2690 return builder 2691 } 2692 2693 // 表格token 2694 // 2695 // 示例值:shtcnmBA*****yGehy8 2696 func (builder *SpreadsheetBuilder) SpreadsheetToken(spreadsheetToken string) *SpreadsheetBuilder { 2697 builder.spreadsheetToken = spreadsheetToken 2698 builder.spreadsheetTokenFlag = true 2699 return builder 2700 } 2701 2702 func (builder *SpreadsheetBuilder) Build() *Spreadsheet { 2703 req := &Spreadsheet{} 2704 if builder.titleFlag { 2705 req.Title = &builder.title 2706 2707 } 2708 if builder.folderTokenFlag { 2709 req.FolderToken = &builder.folderToken 2710 2711 } 2712 if builder.urlFlag { 2713 req.Url = &builder.url 2714 2715 } 2716 if builder.spreadsheetTokenFlag { 2717 req.SpreadsheetToken = &builder.spreadsheetToken 2718 2719 } 2720 return req 2721 } 2722 2723 type Text struct { 2724 Text *string `json:"text,omitempty"` // 文本值 2725 SegmentStyle *SegmentStyle `json:"segment_style,omitempty"` // 2726 } 2727 2728 type TextBuilder struct { 2729 text string // 文本值 2730 textFlag bool 2731 segmentStyle *SegmentStyle // 2732 segmentStyleFlag bool 2733 } 2734 2735 func NewTextBuilder() *TextBuilder { 2736 builder := &TextBuilder{} 2737 return builder 2738 } 2739 2740 // 文本值 2741 // 2742 // 示例值:abc 2743 func (builder *TextBuilder) Text(text string) *TextBuilder { 2744 builder.text = text 2745 builder.textFlag = true 2746 return builder 2747 } 2748 2749 // 2750 // 2751 // 示例值: 2752 func (builder *TextBuilder) SegmentStyle(segmentStyle *SegmentStyle) *TextBuilder { 2753 builder.segmentStyle = segmentStyle 2754 builder.segmentStyleFlag = true 2755 return builder 2756 } 2757 2758 func (builder *TextBuilder) Build() *Text { 2759 req := &Text{} 2760 if builder.textFlag { 2761 req.Text = &builder.text 2762 2763 } 2764 if builder.segmentStyleFlag { 2765 req.SegmentStyle = builder.segmentStyle 2766 } 2767 return req 2768 } 2769 2770 type UpdateDimensionProperties struct { 2771 DimensionRange *Dimension `json:"dimension_range,omitempty"` // 需要更新的行列信息 2772 Properties *DimensionProperties `json:"properties,omitempty"` // 更新的属性 2773 } 2774 2775 type UpdateDimensionPropertiesBuilder struct { 2776 dimensionRange *Dimension // 需要更新的行列信息 2777 dimensionRangeFlag bool 2778 properties *DimensionProperties // 更新的属性 2779 propertiesFlag bool 2780 } 2781 2782 func NewUpdateDimensionPropertiesBuilder() *UpdateDimensionPropertiesBuilder { 2783 builder := &UpdateDimensionPropertiesBuilder{} 2784 return builder 2785 } 2786 2787 // 需要更新的行列信息 2788 // 2789 // 示例值: 2790 func (builder *UpdateDimensionPropertiesBuilder) DimensionRange(dimensionRange *Dimension) *UpdateDimensionPropertiesBuilder { 2791 builder.dimensionRange = dimensionRange 2792 builder.dimensionRangeFlag = true 2793 return builder 2794 } 2795 2796 // 更新的属性 2797 // 2798 // 示例值: 2799 func (builder *UpdateDimensionPropertiesBuilder) Properties(properties *DimensionProperties) *UpdateDimensionPropertiesBuilder { 2800 builder.properties = properties 2801 builder.propertiesFlag = true 2802 return builder 2803 } 2804 2805 func (builder *UpdateDimensionPropertiesBuilder) Build() *UpdateDimensionProperties { 2806 req := &UpdateDimensionProperties{} 2807 if builder.dimensionRangeFlag { 2808 req.DimensionRange = builder.dimensionRange 2809 } 2810 if builder.propertiesFlag { 2811 req.Properties = builder.properties 2812 } 2813 return req 2814 } 2815 2816 type UpdateGridProperties struct { 2817 FrozenRowCount *int `json:"frozen_row_count,omitempty"` // 冻结行数 2818 FrozenColumnCount *int `json:"frozen_column_count,omitempty"` // 冻结列数 2819 } 2820 2821 type UpdateGridPropertiesBuilder struct { 2822 frozenRowCount int // 冻结行数 2823 frozenRowCountFlag bool 2824 frozenColumnCount int // 冻结列数 2825 frozenColumnCountFlag bool 2826 } 2827 2828 func NewUpdateGridPropertiesBuilder() *UpdateGridPropertiesBuilder { 2829 builder := &UpdateGridPropertiesBuilder{} 2830 return builder 2831 } 2832 2833 // 冻结行数 2834 // 2835 // 示例值:1 2836 func (builder *UpdateGridPropertiesBuilder) FrozenRowCount(frozenRowCount int) *UpdateGridPropertiesBuilder { 2837 builder.frozenRowCount = frozenRowCount 2838 builder.frozenRowCountFlag = true 2839 return builder 2840 } 2841 2842 // 冻结列数 2843 // 2844 // 示例值:1 2845 func (builder *UpdateGridPropertiesBuilder) FrozenColumnCount(frozenColumnCount int) *UpdateGridPropertiesBuilder { 2846 builder.frozenColumnCount = frozenColumnCount 2847 builder.frozenColumnCountFlag = true 2848 return builder 2849 } 2850 2851 func (builder *UpdateGridPropertiesBuilder) Build() *UpdateGridProperties { 2852 req := &UpdateGridProperties{} 2853 if builder.frozenRowCountFlag { 2854 req.FrozenRowCount = &builder.frozenRowCount 2855 2856 } 2857 if builder.frozenColumnCountFlag { 2858 req.FrozenColumnCount = &builder.frozenColumnCount 2859 2860 } 2861 return req 2862 } 2863 2864 type UpdateSheetFilter struct { 2865 Col *string `json:"col,omitempty"` // 更新筛选条件的列 2866 Condition *Condition `json:"condition,omitempty"` // 筛选条件 2867 } 2868 2869 type UpdateSheetFilterBuilder struct { 2870 col string // 更新筛选条件的列 2871 colFlag bool 2872 condition *Condition // 筛选条件 2873 conditionFlag bool 2874 } 2875 2876 func NewUpdateSheetFilterBuilder() *UpdateSheetFilterBuilder { 2877 builder := &UpdateSheetFilterBuilder{} 2878 return builder 2879 } 2880 2881 // 更新筛选条件的列 2882 // 2883 // 示例值:E 2884 func (builder *UpdateSheetFilterBuilder) Col(col string) *UpdateSheetFilterBuilder { 2885 builder.col = col 2886 builder.colFlag = true 2887 return builder 2888 } 2889 2890 // 筛选条件 2891 // 2892 // 示例值: 2893 func (builder *UpdateSheetFilterBuilder) Condition(condition *Condition) *UpdateSheetFilterBuilder { 2894 builder.condition = condition 2895 builder.conditionFlag = true 2896 return builder 2897 } 2898 2899 func (builder *UpdateSheetFilterBuilder) Build() *UpdateSheetFilter { 2900 req := &UpdateSheetFilter{} 2901 if builder.colFlag { 2902 req.Col = &builder.col 2903 2904 } 2905 if builder.conditionFlag { 2906 req.Condition = builder.condition 2907 } 2908 return req 2909 } 2910 2911 type UpdateSpreadsheetProperties struct { 2912 Title *string `json:"title,omitempty"` // 表格标题 2913 } 2914 2915 type UpdateSpreadsheetPropertiesBuilder struct { 2916 title string // 表格标题 2917 titleFlag bool 2918 } 2919 2920 func NewUpdateSpreadsheetPropertiesBuilder() *UpdateSpreadsheetPropertiesBuilder { 2921 builder := &UpdateSpreadsheetPropertiesBuilder{} 2922 return builder 2923 } 2924 2925 // 表格标题 2926 // 2927 // 示例值:title 2928 func (builder *UpdateSpreadsheetPropertiesBuilder) Title(title string) *UpdateSpreadsheetPropertiesBuilder { 2929 builder.title = title 2930 builder.titleFlag = true 2931 return builder 2932 } 2933 2934 func (builder *UpdateSpreadsheetPropertiesBuilder) Build() *UpdateSpreadsheetProperties { 2935 req := &UpdateSpreadsheetProperties{} 2936 if builder.titleFlag { 2937 req.Title = &builder.title 2938 2939 } 2940 return req 2941 } 2942 2943 type Value struct { 2944 Range *string `json:"range,omitempty"` // 范围 2945 Values [][][]*CellValue `json:"values,omitempty"` // 数据,数据结构参见[单元格数据结构](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-value/cell-data-structure) 2946 } 2947 2948 type ValueBuilder struct { 2949 range_ string // 范围 2950 rangeFlag bool 2951 values [][][]*CellValue // 数据,数据结构参见[单元格数据结构](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-value/cell-data-structure) 2952 valuesFlag bool 2953 } 2954 2955 func NewValueBuilder() *ValueBuilder { 2956 builder := &ValueBuilder{} 2957 return builder 2958 } 2959 2960 // 范围 2961 // 2962 // 示例值:Sheet1!A1:A2 2963 func (builder *ValueBuilder) Range(range_ string) *ValueBuilder { 2964 builder.range_ = range_ 2965 builder.rangeFlag = true 2966 return builder 2967 } 2968 2969 // 数据,数据结构参见[单元格数据结构](/ssl:ttdoc/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet-value/cell-data-structure) 2970 // 2971 // 示例值:[] 2972 func (builder *ValueBuilder) Values(values [][][]*CellValue) *ValueBuilder { 2973 builder.values = values 2974 builder.valuesFlag = true 2975 return builder 2976 } 2977 2978 func (builder *ValueBuilder) Build() *Value { 2979 req := &Value{} 2980 if builder.rangeFlag { 2981 req.Range = &builder.range_ 2982 2983 } 2984 if builder.valuesFlag { 2985 req.Values = builder.values 2986 } 2987 return req 2988 } 2989 2990 type ValueElement struct { 2991 Value *string `json:"value,omitempty"` // 整型或浮点型数值 2992 } 2993 2994 type ValueElementBuilder struct { 2995 value string // 整型或浮点型数值 2996 valueFlag bool 2997 } 2998 2999 func NewValueElementBuilder() *ValueElementBuilder { 3000 builder := &ValueElementBuilder{} 3001 return builder 3002 } 3003 3004 // 整型或浮点型数值 3005 // 3006 // 示例值: 3007 func (builder *ValueElementBuilder) Value(value string) *ValueElementBuilder { 3008 builder.value = value 3009 builder.valueFlag = true 3010 return builder 3011 } 3012 3013 func (builder *ValueElementBuilder) Build() *ValueElement { 3014 req := &ValueElement{} 3015 if builder.valueFlag { 3016 req.Value = &builder.value 3017 3018 } 3019 return req 3020 } 3021 3022 type CreateSpreadsheetReqBuilder struct { 3023 apiReq *larkcore.ApiReq 3024 spreadsheet *Spreadsheet 3025 } 3026 3027 func NewCreateSpreadsheetReqBuilder() *CreateSpreadsheetReqBuilder { 3028 builder := &CreateSpreadsheetReqBuilder{} 3029 builder.apiReq = &larkcore.ApiReq{ 3030 PathParams: larkcore.PathParams{}, 3031 QueryParams: larkcore.QueryParams{}, 3032 } 3033 return builder 3034 } 3035 3036 // 使用该接口可以在指定的目录下创建在线表格。 3037 func (builder *CreateSpreadsheetReqBuilder) Spreadsheet(spreadsheet *Spreadsheet) *CreateSpreadsheetReqBuilder { 3038 builder.spreadsheet = spreadsheet 3039 return builder 3040 } 3041 3042 func (builder *CreateSpreadsheetReqBuilder) Build() *CreateSpreadsheetReq { 3043 req := &CreateSpreadsheetReq{} 3044 req.apiReq = &larkcore.ApiReq{} 3045 req.apiReq.Body = builder.spreadsheet 3046 return req 3047 } 3048 3049 type CreateSpreadsheetReq struct { 3050 apiReq *larkcore.ApiReq 3051 Spreadsheet *Spreadsheet `body:""` 3052 } 3053 3054 type CreateSpreadsheetRespData struct { 3055 Spreadsheet *Spreadsheet `json:"spreadsheet,omitempty"` // 表格 3056 } 3057 3058 type CreateSpreadsheetResp struct { 3059 *larkcore.ApiResp `json:"-"` 3060 larkcore.CodeError 3061 Data *CreateSpreadsheetRespData `json:"data"` // 业务数据 3062 } 3063 3064 func (resp *CreateSpreadsheetResp) Success() bool { 3065 return resp.Code == 0 3066 } 3067 3068 type FindSpreadsheetSheetReqBuilder struct { 3069 apiReq *larkcore.ApiReq 3070 find *Find 3071 } 3072 3073 func NewFindSpreadsheetSheetReqBuilder() *FindSpreadsheetSheetReqBuilder { 3074 builder := &FindSpreadsheetSheetReqBuilder{} 3075 builder.apiReq = &larkcore.ApiReq{ 3076 PathParams: larkcore.PathParams{}, 3077 QueryParams: larkcore.QueryParams{}, 3078 } 3079 return builder 3080 } 3081 3082 // 表格的 token 3083 // 3084 // 示例值:shtcnmBA*****yGehy8 3085 func (builder *FindSpreadsheetSheetReqBuilder) SpreadsheetToken(spreadsheetToken string) *FindSpreadsheetSheetReqBuilder { 3086 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 3087 return builder 3088 } 3089 3090 // 子表的 id 3091 // 3092 // 示例值:0b**12 3093 func (builder *FindSpreadsheetSheetReqBuilder) SheetId(sheetId string) *FindSpreadsheetSheetReqBuilder { 3094 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 3095 return builder 3096 } 3097 3098 // 按照指定的条件查找子表的某个范围内的数据符合条件的单元格位置。请求体中的 range 和 find 字段为必填。 3099 func (builder *FindSpreadsheetSheetReqBuilder) Find(find *Find) *FindSpreadsheetSheetReqBuilder { 3100 builder.find = find 3101 return builder 3102 } 3103 3104 func (builder *FindSpreadsheetSheetReqBuilder) Build() *FindSpreadsheetSheetReq { 3105 req := &FindSpreadsheetSheetReq{} 3106 req.apiReq = &larkcore.ApiReq{} 3107 req.apiReq.PathParams = builder.apiReq.PathParams 3108 req.apiReq.Body = builder.find 3109 return req 3110 } 3111 3112 type FindSpreadsheetSheetReq struct { 3113 apiReq *larkcore.ApiReq 3114 Find *Find `body:""` 3115 } 3116 3117 type FindSpreadsheetSheetRespData struct { 3118 FindResult *FindReplaceResult `json:"find_result,omitempty"` // 查找返回符合条件的信息 3119 } 3120 3121 type FindSpreadsheetSheetResp struct { 3122 *larkcore.ApiResp `json:"-"` 3123 larkcore.CodeError 3124 Data *FindSpreadsheetSheetRespData `json:"data"` // 业务数据 3125 } 3126 3127 func (resp *FindSpreadsheetSheetResp) Success() bool { 3128 return resp.Code == 0 3129 } 3130 3131 type MoveDimensionSpreadsheetSheetReqBuilder struct { 3132 apiReq *larkcore.ApiReq 3133 moveDimension *MoveDimension 3134 } 3135 3136 func NewMoveDimensionSpreadsheetSheetReqBuilder() *MoveDimensionSpreadsheetSheetReqBuilder { 3137 builder := &MoveDimensionSpreadsheetSheetReqBuilder{} 3138 builder.apiReq = &larkcore.ApiReq{ 3139 PathParams: larkcore.PathParams{}, 3140 QueryParams: larkcore.QueryParams{}, 3141 } 3142 return builder 3143 } 3144 3145 // 表格 token 3146 // 3147 // 示例值:shtcnmBA\*****yGehy8 3148 func (builder *MoveDimensionSpreadsheetSheetReqBuilder) SpreadsheetToken(spreadsheetToken string) *MoveDimensionSpreadsheetSheetReqBuilder { 3149 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 3150 return builder 3151 } 3152 3153 // 子表 id 3154 // 3155 // 示例值:0b\**12 3156 func (builder *MoveDimensionSpreadsheetSheetReqBuilder) SheetId(sheetId string) *MoveDimensionSpreadsheetSheetReqBuilder { 3157 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 3158 return builder 3159 } 3160 3161 // 该接口用于移动行列,行列被移动到目标位置后,原本在目标位置的行列会对应右移或下移。 3162 func (builder *MoveDimensionSpreadsheetSheetReqBuilder) MoveDimension(moveDimension *MoveDimension) *MoveDimensionSpreadsheetSheetReqBuilder { 3163 builder.moveDimension = moveDimension 3164 return builder 3165 } 3166 3167 func (builder *MoveDimensionSpreadsheetSheetReqBuilder) Build() *MoveDimensionSpreadsheetSheetReq { 3168 req := &MoveDimensionSpreadsheetSheetReq{} 3169 req.apiReq = &larkcore.ApiReq{} 3170 req.apiReq.PathParams = builder.apiReq.PathParams 3171 req.apiReq.Body = builder.moveDimension 3172 return req 3173 } 3174 3175 type MoveDimensionSpreadsheetSheetReq struct { 3176 apiReq *larkcore.ApiReq 3177 MoveDimension *MoveDimension `body:""` 3178 } 3179 3180 type MoveDimensionSpreadsheetSheetResp struct { 3181 *larkcore.ApiResp `json:"-"` 3182 larkcore.CodeError 3183 } 3184 3185 func (resp *MoveDimensionSpreadsheetSheetResp) Success() bool { 3186 return resp.Code == 0 3187 } 3188 3189 type ReplaceSpreadsheetSheetReqBuilder struct { 3190 apiReq *larkcore.ApiReq 3191 replace *Replace 3192 } 3193 3194 func NewReplaceSpreadsheetSheetReqBuilder() *ReplaceSpreadsheetSheetReqBuilder { 3195 builder := &ReplaceSpreadsheetSheetReqBuilder{} 3196 builder.apiReq = &larkcore.ApiReq{ 3197 PathParams: larkcore.PathParams{}, 3198 QueryParams: larkcore.QueryParams{}, 3199 } 3200 return builder 3201 } 3202 3203 // Spreadsheet token 3204 // 3205 // 示例值:shtcnmBA*****yGehy8 3206 func (builder *ReplaceSpreadsheetSheetReqBuilder) SpreadsheetToken(spreadsheetToken string) *ReplaceSpreadsheetSheetReqBuilder { 3207 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 3208 return builder 3209 } 3210 3211 // Sheet id 3212 // 3213 // 示例值:0b**12 3214 func (builder *ReplaceSpreadsheetSheetReqBuilder) SheetId(sheetId string) *ReplaceSpreadsheetSheetReqBuilder { 3215 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 3216 return builder 3217 } 3218 3219 // 按照指定的条件查找子表的某个范围内的数据符合条件的单元格并替换值,返回替换成功的单元格位置。一次请求最多允许替换5000个单元格,如果超过请将range缩小范围再操作。请求体中的 range、find、replaccement 字段必填。 3220 func (builder *ReplaceSpreadsheetSheetReqBuilder) Replace(replace *Replace) *ReplaceSpreadsheetSheetReqBuilder { 3221 builder.replace = replace 3222 return builder 3223 } 3224 3225 func (builder *ReplaceSpreadsheetSheetReqBuilder) Build() *ReplaceSpreadsheetSheetReq { 3226 req := &ReplaceSpreadsheetSheetReq{} 3227 req.apiReq = &larkcore.ApiReq{} 3228 req.apiReq.PathParams = builder.apiReq.PathParams 3229 req.apiReq.Body = builder.replace 3230 return req 3231 } 3232 3233 type ReplaceSpreadsheetSheetReq struct { 3234 apiReq *larkcore.ApiReq 3235 Replace *Replace `body:""` 3236 } 3237 3238 type ReplaceSpreadsheetSheetRespData struct { 3239 ReplaceResult *FindReplaceResult `json:"replace_result,omitempty"` // 符合查找条件并替换的单元格信息 3240 } 3241 3242 type ReplaceSpreadsheetSheetResp struct { 3243 *larkcore.ApiResp `json:"-"` 3244 larkcore.CodeError 3245 Data *ReplaceSpreadsheetSheetRespData `json:"data"` // 业务数据 3246 } 3247 3248 func (resp *ReplaceSpreadsheetSheetResp) Success() bool { 3249 return resp.Code == 0 3250 } 3251 3252 type CreateSpreadsheetSheetFilterReqBuilder struct { 3253 apiReq *larkcore.ApiReq 3254 createSheetFilter *CreateSheetFilter 3255 } 3256 3257 func NewCreateSpreadsheetSheetFilterReqBuilder() *CreateSpreadsheetSheetFilterReqBuilder { 3258 builder := &CreateSpreadsheetSheetFilterReqBuilder{} 3259 builder.apiReq = &larkcore.ApiReq{ 3260 PathParams: larkcore.PathParams{}, 3261 QueryParams: larkcore.QueryParams{}, 3262 } 3263 return builder 3264 } 3265 3266 // 表格 token 3267 // 3268 // 示例值:shtcnmBA\*****yGehy8 3269 func (builder *CreateSpreadsheetSheetFilterReqBuilder) SpreadsheetToken(spreadsheetToken string) *CreateSpreadsheetSheetFilterReqBuilder { 3270 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 3271 return builder 3272 } 3273 3274 // 子表 id 3275 // 3276 // 示例值:0b\**12 3277 func (builder *CreateSpreadsheetSheetFilterReqBuilder) SheetId(sheetId string) *CreateSpreadsheetSheetFilterReqBuilder { 3278 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 3279 return builder 3280 } 3281 3282 // 在子表内创建筛选。 3283 func (builder *CreateSpreadsheetSheetFilterReqBuilder) CreateSheetFilter(createSheetFilter *CreateSheetFilter) *CreateSpreadsheetSheetFilterReqBuilder { 3284 builder.createSheetFilter = createSheetFilter 3285 return builder 3286 } 3287 3288 func (builder *CreateSpreadsheetSheetFilterReqBuilder) Build() *CreateSpreadsheetSheetFilterReq { 3289 req := &CreateSpreadsheetSheetFilterReq{} 3290 req.apiReq = &larkcore.ApiReq{} 3291 req.apiReq.PathParams = builder.apiReq.PathParams 3292 req.apiReq.Body = builder.createSheetFilter 3293 return req 3294 } 3295 3296 type CreateSpreadsheetSheetFilterReq struct { 3297 apiReq *larkcore.ApiReq 3298 CreateSheetFilter *CreateSheetFilter `body:""` 3299 } 3300 3301 type CreateSpreadsheetSheetFilterResp struct { 3302 *larkcore.ApiResp `json:"-"` 3303 larkcore.CodeError 3304 } 3305 3306 func (resp *CreateSpreadsheetSheetFilterResp) Success() bool { 3307 return resp.Code == 0 3308 } 3309 3310 type DeleteSpreadsheetSheetFilterReqBuilder struct { 3311 apiReq *larkcore.ApiReq 3312 } 3313 3314 func NewDeleteSpreadsheetSheetFilterReqBuilder() *DeleteSpreadsheetSheetFilterReqBuilder { 3315 builder := &DeleteSpreadsheetSheetFilterReqBuilder{} 3316 builder.apiReq = &larkcore.ApiReq{ 3317 PathParams: larkcore.PathParams{}, 3318 QueryParams: larkcore.QueryParams{}, 3319 } 3320 return builder 3321 } 3322 3323 // 表格 token 3324 // 3325 // 示例值:shtcnmBA\*****yGehy8 3326 func (builder *DeleteSpreadsheetSheetFilterReqBuilder) SpreadsheetToken(spreadsheetToken string) *DeleteSpreadsheetSheetFilterReqBuilder { 3327 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 3328 return builder 3329 } 3330 3331 // 子表 id 3332 // 3333 // 示例值:0b\**12 3334 func (builder *DeleteSpreadsheetSheetFilterReqBuilder) SheetId(sheetId string) *DeleteSpreadsheetSheetFilterReqBuilder { 3335 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 3336 return builder 3337 } 3338 3339 func (builder *DeleteSpreadsheetSheetFilterReqBuilder) Build() *DeleteSpreadsheetSheetFilterReq { 3340 req := &DeleteSpreadsheetSheetFilterReq{} 3341 req.apiReq = &larkcore.ApiReq{} 3342 req.apiReq.PathParams = builder.apiReq.PathParams 3343 return req 3344 } 3345 3346 type DeleteSpreadsheetSheetFilterReq struct { 3347 apiReq *larkcore.ApiReq 3348 } 3349 3350 type DeleteSpreadsheetSheetFilterResp struct { 3351 *larkcore.ApiResp `json:"-"` 3352 larkcore.CodeError 3353 } 3354 3355 func (resp *DeleteSpreadsheetSheetFilterResp) Success() bool { 3356 return resp.Code == 0 3357 } 3358 3359 type GetSpreadsheetSheetFilterReqBuilder struct { 3360 apiReq *larkcore.ApiReq 3361 } 3362 3363 func NewGetSpreadsheetSheetFilterReqBuilder() *GetSpreadsheetSheetFilterReqBuilder { 3364 builder := &GetSpreadsheetSheetFilterReqBuilder{} 3365 builder.apiReq = &larkcore.ApiReq{ 3366 PathParams: larkcore.PathParams{}, 3367 QueryParams: larkcore.QueryParams{}, 3368 } 3369 return builder 3370 } 3371 3372 // 表格 token 3373 // 3374 // 示例值:shtcnmBA\*****yGehy8 3375 func (builder *GetSpreadsheetSheetFilterReqBuilder) SpreadsheetToken(spreadsheetToken string) *GetSpreadsheetSheetFilterReqBuilder { 3376 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 3377 return builder 3378 } 3379 3380 // 子表 id 3381 // 3382 // 示例值:0b\**12 3383 func (builder *GetSpreadsheetSheetFilterReqBuilder) SheetId(sheetId string) *GetSpreadsheetSheetFilterReqBuilder { 3384 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 3385 return builder 3386 } 3387 3388 func (builder *GetSpreadsheetSheetFilterReqBuilder) Build() *GetSpreadsheetSheetFilterReq { 3389 req := &GetSpreadsheetSheetFilterReq{} 3390 req.apiReq = &larkcore.ApiReq{} 3391 req.apiReq.PathParams = builder.apiReq.PathParams 3392 return req 3393 } 3394 3395 type GetSpreadsheetSheetFilterReq struct { 3396 apiReq *larkcore.ApiReq 3397 } 3398 3399 type GetSpreadsheetSheetFilterRespData struct { 3400 SheetFilterInfo *SheetFilterInfo `json:"sheet_filter_info,omitempty"` // 筛选信息 3401 } 3402 3403 type GetSpreadsheetSheetFilterResp struct { 3404 *larkcore.ApiResp `json:"-"` 3405 larkcore.CodeError 3406 Data *GetSpreadsheetSheetFilterRespData `json:"data"` // 业务数据 3407 } 3408 3409 func (resp *GetSpreadsheetSheetFilterResp) Success() bool { 3410 return resp.Code == 0 3411 } 3412 3413 type UpdateSpreadsheetSheetFilterReqBuilder struct { 3414 apiReq *larkcore.ApiReq 3415 updateSheetFilter *UpdateSheetFilter 3416 } 3417 3418 func NewUpdateSpreadsheetSheetFilterReqBuilder() *UpdateSpreadsheetSheetFilterReqBuilder { 3419 builder := &UpdateSpreadsheetSheetFilterReqBuilder{} 3420 builder.apiReq = &larkcore.ApiReq{ 3421 PathParams: larkcore.PathParams{}, 3422 QueryParams: larkcore.QueryParams{}, 3423 } 3424 return builder 3425 } 3426 3427 // 表格 token 3428 // 3429 // 示例值:shtcnmBA\*****yGehy8 3430 func (builder *UpdateSpreadsheetSheetFilterReqBuilder) SpreadsheetToken(spreadsheetToken string) *UpdateSpreadsheetSheetFilterReqBuilder { 3431 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 3432 return builder 3433 } 3434 3435 // 子表 id 3436 // 3437 // 示例值:0b\**12 3438 func (builder *UpdateSpreadsheetSheetFilterReqBuilder) SheetId(sheetId string) *UpdateSpreadsheetSheetFilterReqBuilder { 3439 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 3440 return builder 3441 } 3442 3443 // 更新子表筛选范围中的列筛选条件。 3444 func (builder *UpdateSpreadsheetSheetFilterReqBuilder) UpdateSheetFilter(updateSheetFilter *UpdateSheetFilter) *UpdateSpreadsheetSheetFilterReqBuilder { 3445 builder.updateSheetFilter = updateSheetFilter 3446 return builder 3447 } 3448 3449 func (builder *UpdateSpreadsheetSheetFilterReqBuilder) Build() *UpdateSpreadsheetSheetFilterReq { 3450 req := &UpdateSpreadsheetSheetFilterReq{} 3451 req.apiReq = &larkcore.ApiReq{} 3452 req.apiReq.PathParams = builder.apiReq.PathParams 3453 req.apiReq.Body = builder.updateSheetFilter 3454 return req 3455 } 3456 3457 type UpdateSpreadsheetSheetFilterReq struct { 3458 apiReq *larkcore.ApiReq 3459 UpdateSheetFilter *UpdateSheetFilter `body:""` 3460 } 3461 3462 type UpdateSpreadsheetSheetFilterResp struct { 3463 *larkcore.ApiResp `json:"-"` 3464 larkcore.CodeError 3465 } 3466 3467 func (resp *UpdateSpreadsheetSheetFilterResp) Success() bool { 3468 return resp.Code == 0 3469 } 3470 3471 type CreateSpreadsheetSheetFilterViewReqBuilder struct { 3472 apiReq *larkcore.ApiReq 3473 filterView *FilterView 3474 } 3475 3476 func NewCreateSpreadsheetSheetFilterViewReqBuilder() *CreateSpreadsheetSheetFilterViewReqBuilder { 3477 builder := &CreateSpreadsheetSheetFilterViewReqBuilder{} 3478 builder.apiReq = &larkcore.ApiReq{ 3479 PathParams: larkcore.PathParams{}, 3480 QueryParams: larkcore.QueryParams{}, 3481 } 3482 return builder 3483 } 3484 3485 // 表格 token 3486 // 3487 // 示例值:shtcnmBA*****yGehy8 3488 func (builder *CreateSpreadsheetSheetFilterViewReqBuilder) SpreadsheetToken(spreadsheetToken string) *CreateSpreadsheetSheetFilterViewReqBuilder { 3489 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 3490 return builder 3491 } 3492 3493 // 子表 id 3494 // 3495 // 示例值:0b**12 3496 func (builder *CreateSpreadsheetSheetFilterViewReqBuilder) SheetId(sheetId string) *CreateSpreadsheetSheetFilterViewReqBuilder { 3497 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 3498 return builder 3499 } 3500 3501 // 根据传入的参数创建一个筛选视图。Id 和 名字可选,不填的话会默认生成;range 必填。Id 长度为10,由 0-9、a-z、A-Z 组合生成。名字长度不超过100。单个子表内的筛选视图个数不超过 150。 3502 func (builder *CreateSpreadsheetSheetFilterViewReqBuilder) FilterView(filterView *FilterView) *CreateSpreadsheetSheetFilterViewReqBuilder { 3503 builder.filterView = filterView 3504 return builder 3505 } 3506 3507 func (builder *CreateSpreadsheetSheetFilterViewReqBuilder) Build() *CreateSpreadsheetSheetFilterViewReq { 3508 req := &CreateSpreadsheetSheetFilterViewReq{} 3509 req.apiReq = &larkcore.ApiReq{} 3510 req.apiReq.PathParams = builder.apiReq.PathParams 3511 req.apiReq.Body = builder.filterView 3512 return req 3513 } 3514 3515 type CreateSpreadsheetSheetFilterViewReq struct { 3516 apiReq *larkcore.ApiReq 3517 FilterView *FilterView `body:""` 3518 } 3519 3520 type CreateSpreadsheetSheetFilterViewRespData struct { 3521 FilterView *FilterView `json:"filter_view,omitempty"` // 创建的筛选视图的 id 、name、range 3522 } 3523 3524 type CreateSpreadsheetSheetFilterViewResp struct { 3525 *larkcore.ApiResp `json:"-"` 3526 larkcore.CodeError 3527 Data *CreateSpreadsheetSheetFilterViewRespData `json:"data"` // 业务数据 3528 } 3529 3530 func (resp *CreateSpreadsheetSheetFilterViewResp) Success() bool { 3531 return resp.Code == 0 3532 } 3533 3534 type DeleteSpreadsheetSheetFilterViewReqBuilder struct { 3535 apiReq *larkcore.ApiReq 3536 } 3537 3538 func NewDeleteSpreadsheetSheetFilterViewReqBuilder() *DeleteSpreadsheetSheetFilterViewReqBuilder { 3539 builder := &DeleteSpreadsheetSheetFilterViewReqBuilder{} 3540 builder.apiReq = &larkcore.ApiReq{ 3541 PathParams: larkcore.PathParams{}, 3542 QueryParams: larkcore.QueryParams{}, 3543 } 3544 return builder 3545 } 3546 3547 // 表格 token 3548 // 3549 // 示例值:shtcnmBA*****yGehy8 3550 func (builder *DeleteSpreadsheetSheetFilterViewReqBuilder) SpreadsheetToken(spreadsheetToken string) *DeleteSpreadsheetSheetFilterViewReqBuilder { 3551 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 3552 return builder 3553 } 3554 3555 // 子表 id 3556 // 3557 // 示例值:0b**12 3558 func (builder *DeleteSpreadsheetSheetFilterViewReqBuilder) SheetId(sheetId string) *DeleteSpreadsheetSheetFilterViewReqBuilder { 3559 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 3560 return builder 3561 } 3562 3563 // 筛选视图 id 3564 // 3565 // 示例值:pH9hbVcCXA 3566 func (builder *DeleteSpreadsheetSheetFilterViewReqBuilder) FilterViewId(filterViewId string) *DeleteSpreadsheetSheetFilterViewReqBuilder { 3567 builder.apiReq.PathParams.Set("filter_view_id", fmt.Sprint(filterViewId)) 3568 return builder 3569 } 3570 3571 func (builder *DeleteSpreadsheetSheetFilterViewReqBuilder) Build() *DeleteSpreadsheetSheetFilterViewReq { 3572 req := &DeleteSpreadsheetSheetFilterViewReq{} 3573 req.apiReq = &larkcore.ApiReq{} 3574 req.apiReq.PathParams = builder.apiReq.PathParams 3575 return req 3576 } 3577 3578 type DeleteSpreadsheetSheetFilterViewReq struct { 3579 apiReq *larkcore.ApiReq 3580 } 3581 3582 type DeleteSpreadsheetSheetFilterViewResp struct { 3583 *larkcore.ApiResp `json:"-"` 3584 larkcore.CodeError 3585 } 3586 3587 func (resp *DeleteSpreadsheetSheetFilterViewResp) Success() bool { 3588 return resp.Code == 0 3589 } 3590 3591 type GetSpreadsheetSheetFilterViewReqBuilder struct { 3592 apiReq *larkcore.ApiReq 3593 } 3594 3595 func NewGetSpreadsheetSheetFilterViewReqBuilder() *GetSpreadsheetSheetFilterViewReqBuilder { 3596 builder := &GetSpreadsheetSheetFilterViewReqBuilder{} 3597 builder.apiReq = &larkcore.ApiReq{ 3598 PathParams: larkcore.PathParams{}, 3599 QueryParams: larkcore.QueryParams{}, 3600 } 3601 return builder 3602 } 3603 3604 // 表格 token 3605 // 3606 // 示例值:shtcnmBA*****yGehy8 3607 func (builder *GetSpreadsheetSheetFilterViewReqBuilder) SpreadsheetToken(spreadsheetToken string) *GetSpreadsheetSheetFilterViewReqBuilder { 3608 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 3609 return builder 3610 } 3611 3612 // 子表 id 3613 // 3614 // 示例值:0b**12 3615 func (builder *GetSpreadsheetSheetFilterViewReqBuilder) SheetId(sheetId string) *GetSpreadsheetSheetFilterViewReqBuilder { 3616 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 3617 return builder 3618 } 3619 3620 // 筛选视图 id 3621 // 3622 // 示例值:pH9hbVcCXA 3623 func (builder *GetSpreadsheetSheetFilterViewReqBuilder) FilterViewId(filterViewId string) *GetSpreadsheetSheetFilterViewReqBuilder { 3624 builder.apiReq.PathParams.Set("filter_view_id", fmt.Sprint(filterViewId)) 3625 return builder 3626 } 3627 3628 func (builder *GetSpreadsheetSheetFilterViewReqBuilder) Build() *GetSpreadsheetSheetFilterViewReq { 3629 req := &GetSpreadsheetSheetFilterViewReq{} 3630 req.apiReq = &larkcore.ApiReq{} 3631 req.apiReq.PathParams = builder.apiReq.PathParams 3632 return req 3633 } 3634 3635 type GetSpreadsheetSheetFilterViewReq struct { 3636 apiReq *larkcore.ApiReq 3637 } 3638 3639 type GetSpreadsheetSheetFilterViewRespData struct { 3640 FilterView *FilterView `json:"filter_view,omitempty"` // 筛选视图信息,包括 id、name、range 3641 } 3642 3643 type GetSpreadsheetSheetFilterViewResp struct { 3644 *larkcore.ApiResp `json:"-"` 3645 larkcore.CodeError 3646 Data *GetSpreadsheetSheetFilterViewRespData `json:"data"` // 业务数据 3647 } 3648 3649 func (resp *GetSpreadsheetSheetFilterViewResp) Success() bool { 3650 return resp.Code == 0 3651 } 3652 3653 type PatchSpreadsheetSheetFilterViewReqBuilder struct { 3654 apiReq *larkcore.ApiReq 3655 filterView *FilterView 3656 } 3657 3658 func NewPatchSpreadsheetSheetFilterViewReqBuilder() *PatchSpreadsheetSheetFilterViewReqBuilder { 3659 builder := &PatchSpreadsheetSheetFilterViewReqBuilder{} 3660 builder.apiReq = &larkcore.ApiReq{ 3661 PathParams: larkcore.PathParams{}, 3662 QueryParams: larkcore.QueryParams{}, 3663 } 3664 return builder 3665 } 3666 3667 // 表格 token 3668 // 3669 // 示例值:shtcnmBA*****yGehy8 3670 func (builder *PatchSpreadsheetSheetFilterViewReqBuilder) SpreadsheetToken(spreadsheetToken string) *PatchSpreadsheetSheetFilterViewReqBuilder { 3671 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 3672 return builder 3673 } 3674 3675 // 子表 id 3676 // 3677 // 示例值:0b**12 3678 func (builder *PatchSpreadsheetSheetFilterViewReqBuilder) SheetId(sheetId string) *PatchSpreadsheetSheetFilterViewReqBuilder { 3679 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 3680 return builder 3681 } 3682 3683 // 筛选视图 id 3684 // 3685 // 示例值:pH9hbVcCXA 3686 func (builder *PatchSpreadsheetSheetFilterViewReqBuilder) FilterViewId(filterViewId string) *PatchSpreadsheetSheetFilterViewReqBuilder { 3687 builder.apiReq.PathParams.Set("filter_view_id", fmt.Sprint(filterViewId)) 3688 return builder 3689 } 3690 3691 // 更新筛选视图的名字或者筛选范围。名字长度不超过100,不能重复即子表内唯一;筛选范围不超过子表的最大范围。 3692 func (builder *PatchSpreadsheetSheetFilterViewReqBuilder) FilterView(filterView *FilterView) *PatchSpreadsheetSheetFilterViewReqBuilder { 3693 builder.filterView = filterView 3694 return builder 3695 } 3696 3697 func (builder *PatchSpreadsheetSheetFilterViewReqBuilder) Build() *PatchSpreadsheetSheetFilterViewReq { 3698 req := &PatchSpreadsheetSheetFilterViewReq{} 3699 req.apiReq = &larkcore.ApiReq{} 3700 req.apiReq.PathParams = builder.apiReq.PathParams 3701 req.apiReq.Body = builder.filterView 3702 return req 3703 } 3704 3705 type PatchSpreadsheetSheetFilterViewReq struct { 3706 apiReq *larkcore.ApiReq 3707 FilterView *FilterView `body:""` 3708 } 3709 3710 type PatchSpreadsheetSheetFilterViewRespData struct { 3711 FilterView *FilterView `json:"filter_view,omitempty"` // 更新后的筛选视图的 id 、name、range 3712 } 3713 3714 type PatchSpreadsheetSheetFilterViewResp struct { 3715 *larkcore.ApiResp `json:"-"` 3716 larkcore.CodeError 3717 Data *PatchSpreadsheetSheetFilterViewRespData `json:"data"` // 业务数据 3718 } 3719 3720 func (resp *PatchSpreadsheetSheetFilterViewResp) Success() bool { 3721 return resp.Code == 0 3722 } 3723 3724 type QuerySpreadsheetSheetFilterViewReqBuilder struct { 3725 apiReq *larkcore.ApiReq 3726 } 3727 3728 func NewQuerySpreadsheetSheetFilterViewReqBuilder() *QuerySpreadsheetSheetFilterViewReqBuilder { 3729 builder := &QuerySpreadsheetSheetFilterViewReqBuilder{} 3730 builder.apiReq = &larkcore.ApiReq{ 3731 PathParams: larkcore.PathParams{}, 3732 QueryParams: larkcore.QueryParams{}, 3733 } 3734 return builder 3735 } 3736 3737 // 表格 token 3738 // 3739 // 示例值:shtcnmBA*****yGehy8 3740 func (builder *QuerySpreadsheetSheetFilterViewReqBuilder) SpreadsheetToken(spreadsheetToken string) *QuerySpreadsheetSheetFilterViewReqBuilder { 3741 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 3742 return builder 3743 } 3744 3745 // 子表 id 3746 // 3747 // 示例值:0b**12 3748 func (builder *QuerySpreadsheetSheetFilterViewReqBuilder) SheetId(sheetId string) *QuerySpreadsheetSheetFilterViewReqBuilder { 3749 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 3750 return builder 3751 } 3752 3753 func (builder *QuerySpreadsheetSheetFilterViewReqBuilder) Build() *QuerySpreadsheetSheetFilterViewReq { 3754 req := &QuerySpreadsheetSheetFilterViewReq{} 3755 req.apiReq = &larkcore.ApiReq{} 3756 req.apiReq.PathParams = builder.apiReq.PathParams 3757 return req 3758 } 3759 3760 type QuerySpreadsheetSheetFilterViewReq struct { 3761 apiReq *larkcore.ApiReq 3762 } 3763 3764 type QuerySpreadsheetSheetFilterViewRespData struct { 3765 Items []*FilterView `json:"items,omitempty"` // 子表的所有筛选视图信息,id、name、range 3766 } 3767 3768 type QuerySpreadsheetSheetFilterViewResp struct { 3769 *larkcore.ApiResp `json:"-"` 3770 larkcore.CodeError 3771 Data *QuerySpreadsheetSheetFilterViewRespData `json:"data"` // 业务数据 3772 } 3773 3774 func (resp *QuerySpreadsheetSheetFilterViewResp) Success() bool { 3775 return resp.Code == 0 3776 } 3777 3778 type CreateSpreadsheetSheetFilterViewConditionReqBuilder struct { 3779 apiReq *larkcore.ApiReq 3780 filterViewCondition *FilterViewCondition 3781 } 3782 3783 func NewCreateSpreadsheetSheetFilterViewConditionReqBuilder() *CreateSpreadsheetSheetFilterViewConditionReqBuilder { 3784 builder := &CreateSpreadsheetSheetFilterViewConditionReqBuilder{} 3785 builder.apiReq = &larkcore.ApiReq{ 3786 PathParams: larkcore.PathParams{}, 3787 QueryParams: larkcore.QueryParams{}, 3788 } 3789 return builder 3790 } 3791 3792 // 表格 token 3793 // 3794 // 示例值:shtcnmBA*****yGehy8 3795 func (builder *CreateSpreadsheetSheetFilterViewConditionReqBuilder) SpreadsheetToken(spreadsheetToken string) *CreateSpreadsheetSheetFilterViewConditionReqBuilder { 3796 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 3797 return builder 3798 } 3799 3800 // 子表 id 3801 // 3802 // 示例值:0b**12 3803 func (builder *CreateSpreadsheetSheetFilterViewConditionReqBuilder) SheetId(sheetId string) *CreateSpreadsheetSheetFilterViewConditionReqBuilder { 3804 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 3805 return builder 3806 } 3807 3808 // 筛选视图 id 3809 // 3810 // 示例值:pH9hbVcCXA 3811 func (builder *CreateSpreadsheetSheetFilterViewConditionReqBuilder) FilterViewId(filterViewId string) *CreateSpreadsheetSheetFilterViewConditionReqBuilder { 3812 builder.apiReq.PathParams.Set("filter_view_id", fmt.Sprint(filterViewId)) 3813 return builder 3814 } 3815 3816 // 在筛选视图的筛选范围的某一列创建筛选条件。 3817 func (builder *CreateSpreadsheetSheetFilterViewConditionReqBuilder) FilterViewCondition(filterViewCondition *FilterViewCondition) *CreateSpreadsheetSheetFilterViewConditionReqBuilder { 3818 builder.filterViewCondition = filterViewCondition 3819 return builder 3820 } 3821 3822 func (builder *CreateSpreadsheetSheetFilterViewConditionReqBuilder) Build() *CreateSpreadsheetSheetFilterViewConditionReq { 3823 req := &CreateSpreadsheetSheetFilterViewConditionReq{} 3824 req.apiReq = &larkcore.ApiReq{} 3825 req.apiReq.PathParams = builder.apiReq.PathParams 3826 req.apiReq.Body = builder.filterViewCondition 3827 return req 3828 } 3829 3830 type CreateSpreadsheetSheetFilterViewConditionReq struct { 3831 apiReq *larkcore.ApiReq 3832 FilterViewCondition *FilterViewCondition `body:""` 3833 } 3834 3835 type CreateSpreadsheetSheetFilterViewConditionRespData struct { 3836 Condition *FilterViewCondition `json:"condition,omitempty"` // 创建的筛选条件 3837 } 3838 3839 type CreateSpreadsheetSheetFilterViewConditionResp struct { 3840 *larkcore.ApiResp `json:"-"` 3841 larkcore.CodeError 3842 Data *CreateSpreadsheetSheetFilterViewConditionRespData `json:"data"` // 业务数据 3843 } 3844 3845 func (resp *CreateSpreadsheetSheetFilterViewConditionResp) Success() bool { 3846 return resp.Code == 0 3847 } 3848 3849 type DeleteSpreadsheetSheetFilterViewConditionReqBuilder struct { 3850 apiReq *larkcore.ApiReq 3851 } 3852 3853 func NewDeleteSpreadsheetSheetFilterViewConditionReqBuilder() *DeleteSpreadsheetSheetFilterViewConditionReqBuilder { 3854 builder := &DeleteSpreadsheetSheetFilterViewConditionReqBuilder{} 3855 builder.apiReq = &larkcore.ApiReq{ 3856 PathParams: larkcore.PathParams{}, 3857 QueryParams: larkcore.QueryParams{}, 3858 } 3859 return builder 3860 } 3861 3862 // 表格 token 3863 // 3864 // 示例值:shtcnmBA*****yGehy8 3865 func (builder *DeleteSpreadsheetSheetFilterViewConditionReqBuilder) SpreadsheetToken(spreadsheetToken string) *DeleteSpreadsheetSheetFilterViewConditionReqBuilder { 3866 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 3867 return builder 3868 } 3869 3870 // 子表 id 3871 // 3872 // 示例值:0b**12 3873 func (builder *DeleteSpreadsheetSheetFilterViewConditionReqBuilder) SheetId(sheetId string) *DeleteSpreadsheetSheetFilterViewConditionReqBuilder { 3874 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 3875 return builder 3876 } 3877 3878 // 筛选视图 id 3879 // 3880 // 示例值:pH9hbVcCXA 3881 func (builder *DeleteSpreadsheetSheetFilterViewConditionReqBuilder) FilterViewId(filterViewId string) *DeleteSpreadsheetSheetFilterViewConditionReqBuilder { 3882 builder.apiReq.PathParams.Set("filter_view_id", fmt.Sprint(filterViewId)) 3883 return builder 3884 } 3885 3886 // 筛选范围内的某列字母号 3887 // 3888 // 示例值:E 3889 func (builder *DeleteSpreadsheetSheetFilterViewConditionReqBuilder) ConditionId(conditionId string) *DeleteSpreadsheetSheetFilterViewConditionReqBuilder { 3890 builder.apiReq.PathParams.Set("condition_id", fmt.Sprint(conditionId)) 3891 return builder 3892 } 3893 3894 func (builder *DeleteSpreadsheetSheetFilterViewConditionReqBuilder) Build() *DeleteSpreadsheetSheetFilterViewConditionReq { 3895 req := &DeleteSpreadsheetSheetFilterViewConditionReq{} 3896 req.apiReq = &larkcore.ApiReq{} 3897 req.apiReq.PathParams = builder.apiReq.PathParams 3898 return req 3899 } 3900 3901 type DeleteSpreadsheetSheetFilterViewConditionReq struct { 3902 apiReq *larkcore.ApiReq 3903 } 3904 3905 type DeleteSpreadsheetSheetFilterViewConditionResp struct { 3906 *larkcore.ApiResp `json:"-"` 3907 larkcore.CodeError 3908 } 3909 3910 func (resp *DeleteSpreadsheetSheetFilterViewConditionResp) Success() bool { 3911 return resp.Code == 0 3912 } 3913 3914 type GetSpreadsheetSheetFilterViewConditionReqBuilder struct { 3915 apiReq *larkcore.ApiReq 3916 } 3917 3918 func NewGetSpreadsheetSheetFilterViewConditionReqBuilder() *GetSpreadsheetSheetFilterViewConditionReqBuilder { 3919 builder := &GetSpreadsheetSheetFilterViewConditionReqBuilder{} 3920 builder.apiReq = &larkcore.ApiReq{ 3921 PathParams: larkcore.PathParams{}, 3922 QueryParams: larkcore.QueryParams{}, 3923 } 3924 return builder 3925 } 3926 3927 // 表格 token 3928 // 3929 // 示例值:shtcnmBA*****yGehy8 3930 func (builder *GetSpreadsheetSheetFilterViewConditionReqBuilder) SpreadsheetToken(spreadsheetToken string) *GetSpreadsheetSheetFilterViewConditionReqBuilder { 3931 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 3932 return builder 3933 } 3934 3935 // 子表 id 3936 // 3937 // 示例值:0b**12 3938 func (builder *GetSpreadsheetSheetFilterViewConditionReqBuilder) SheetId(sheetId string) *GetSpreadsheetSheetFilterViewConditionReqBuilder { 3939 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 3940 return builder 3941 } 3942 3943 // 筛选视图 id 3944 // 3945 // 示例值:pH9hbVcCXA 3946 func (builder *GetSpreadsheetSheetFilterViewConditionReqBuilder) FilterViewId(filterViewId string) *GetSpreadsheetSheetFilterViewConditionReqBuilder { 3947 builder.apiReq.PathParams.Set("filter_view_id", fmt.Sprint(filterViewId)) 3948 return builder 3949 } 3950 3951 // 需要查询筛选条件的列字母号 3952 // 3953 // 示例值:E 3954 func (builder *GetSpreadsheetSheetFilterViewConditionReqBuilder) ConditionId(conditionId string) *GetSpreadsheetSheetFilterViewConditionReqBuilder { 3955 builder.apiReq.PathParams.Set("condition_id", fmt.Sprint(conditionId)) 3956 return builder 3957 } 3958 3959 func (builder *GetSpreadsheetSheetFilterViewConditionReqBuilder) Build() *GetSpreadsheetSheetFilterViewConditionReq { 3960 req := &GetSpreadsheetSheetFilterViewConditionReq{} 3961 req.apiReq = &larkcore.ApiReq{} 3962 req.apiReq.PathParams = builder.apiReq.PathParams 3963 return req 3964 } 3965 3966 type GetSpreadsheetSheetFilterViewConditionReq struct { 3967 apiReq *larkcore.ApiReq 3968 } 3969 3970 type GetSpreadsheetSheetFilterViewConditionRespData struct { 3971 Condition *FilterViewCondition `json:"condition,omitempty"` // 筛选的条件 3972 } 3973 3974 type GetSpreadsheetSheetFilterViewConditionResp struct { 3975 *larkcore.ApiResp `json:"-"` 3976 larkcore.CodeError 3977 Data *GetSpreadsheetSheetFilterViewConditionRespData `json:"data"` // 业务数据 3978 } 3979 3980 func (resp *GetSpreadsheetSheetFilterViewConditionResp) Success() bool { 3981 return resp.Code == 0 3982 } 3983 3984 type QuerySpreadsheetSheetFilterViewConditionReqBuilder struct { 3985 apiReq *larkcore.ApiReq 3986 } 3987 3988 func NewQuerySpreadsheetSheetFilterViewConditionReqBuilder() *QuerySpreadsheetSheetFilterViewConditionReqBuilder { 3989 builder := &QuerySpreadsheetSheetFilterViewConditionReqBuilder{} 3990 builder.apiReq = &larkcore.ApiReq{ 3991 PathParams: larkcore.PathParams{}, 3992 QueryParams: larkcore.QueryParams{}, 3993 } 3994 return builder 3995 } 3996 3997 // 表格 token 3998 // 3999 // 示例值:shtcnmBA*****yGehy8 4000 func (builder *QuerySpreadsheetSheetFilterViewConditionReqBuilder) SpreadsheetToken(spreadsheetToken string) *QuerySpreadsheetSheetFilterViewConditionReqBuilder { 4001 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 4002 return builder 4003 } 4004 4005 // 子表 id 4006 // 4007 // 示例值:0b**12 4008 func (builder *QuerySpreadsheetSheetFilterViewConditionReqBuilder) SheetId(sheetId string) *QuerySpreadsheetSheetFilterViewConditionReqBuilder { 4009 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 4010 return builder 4011 } 4012 4013 // 筛选视图 id 4014 // 4015 // 示例值:pH9hbVcCXA 4016 func (builder *QuerySpreadsheetSheetFilterViewConditionReqBuilder) FilterViewId(filterViewId string) *QuerySpreadsheetSheetFilterViewConditionReqBuilder { 4017 builder.apiReq.PathParams.Set("filter_view_id", fmt.Sprint(filterViewId)) 4018 return builder 4019 } 4020 4021 func (builder *QuerySpreadsheetSheetFilterViewConditionReqBuilder) Build() *QuerySpreadsheetSheetFilterViewConditionReq { 4022 req := &QuerySpreadsheetSheetFilterViewConditionReq{} 4023 req.apiReq = &larkcore.ApiReq{} 4024 req.apiReq.PathParams = builder.apiReq.PathParams 4025 return req 4026 } 4027 4028 type QuerySpreadsheetSheetFilterViewConditionReq struct { 4029 apiReq *larkcore.ApiReq 4030 } 4031 4032 type QuerySpreadsheetSheetFilterViewConditionRespData struct { 4033 Items []*FilterViewCondition `json:"items,omitempty"` // 筛选视图设置的所有筛选条件 4034 } 4035 4036 type QuerySpreadsheetSheetFilterViewConditionResp struct { 4037 *larkcore.ApiResp `json:"-"` 4038 larkcore.CodeError 4039 Data *QuerySpreadsheetSheetFilterViewConditionRespData `json:"data"` // 业务数据 4040 } 4041 4042 func (resp *QuerySpreadsheetSheetFilterViewConditionResp) Success() bool { 4043 return resp.Code == 0 4044 } 4045 4046 type UpdateSpreadsheetSheetFilterViewConditionReqBuilder struct { 4047 apiReq *larkcore.ApiReq 4048 filterViewCondition *FilterViewCondition 4049 } 4050 4051 func NewUpdateSpreadsheetSheetFilterViewConditionReqBuilder() *UpdateSpreadsheetSheetFilterViewConditionReqBuilder { 4052 builder := &UpdateSpreadsheetSheetFilterViewConditionReqBuilder{} 4053 builder.apiReq = &larkcore.ApiReq{ 4054 PathParams: larkcore.PathParams{}, 4055 QueryParams: larkcore.QueryParams{}, 4056 } 4057 return builder 4058 } 4059 4060 // 表格 token 4061 // 4062 // 示例值:shtcnmBA*****yGehy8 4063 func (builder *UpdateSpreadsheetSheetFilterViewConditionReqBuilder) SpreadsheetToken(spreadsheetToken string) *UpdateSpreadsheetSheetFilterViewConditionReqBuilder { 4064 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 4065 return builder 4066 } 4067 4068 // 子表 id 4069 // 4070 // 示例值:0b**12 4071 func (builder *UpdateSpreadsheetSheetFilterViewConditionReqBuilder) SheetId(sheetId string) *UpdateSpreadsheetSheetFilterViewConditionReqBuilder { 4072 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 4073 return builder 4074 } 4075 4076 // 筛选视图 id 4077 // 4078 // 示例值:pH9hbVcCXA 4079 func (builder *UpdateSpreadsheetSheetFilterViewConditionReqBuilder) FilterViewId(filterViewId string) *UpdateSpreadsheetSheetFilterViewConditionReqBuilder { 4080 builder.apiReq.PathParams.Set("filter_view_id", fmt.Sprint(filterViewId)) 4081 return builder 4082 } 4083 4084 // 列字母号 4085 // 4086 // 示例值:E 4087 func (builder *UpdateSpreadsheetSheetFilterViewConditionReqBuilder) ConditionId(conditionId string) *UpdateSpreadsheetSheetFilterViewConditionReqBuilder { 4088 builder.apiReq.PathParams.Set("condition_id", fmt.Sprint(conditionId)) 4089 return builder 4090 } 4091 4092 // 更新筛选视图范围的某列的筛选条件,condition id 即为列的字母号。 4093 func (builder *UpdateSpreadsheetSheetFilterViewConditionReqBuilder) FilterViewCondition(filterViewCondition *FilterViewCondition) *UpdateSpreadsheetSheetFilterViewConditionReqBuilder { 4094 builder.filterViewCondition = filterViewCondition 4095 return builder 4096 } 4097 4098 func (builder *UpdateSpreadsheetSheetFilterViewConditionReqBuilder) Build() *UpdateSpreadsheetSheetFilterViewConditionReq { 4099 req := &UpdateSpreadsheetSheetFilterViewConditionReq{} 4100 req.apiReq = &larkcore.ApiReq{} 4101 req.apiReq.PathParams = builder.apiReq.PathParams 4102 req.apiReq.Body = builder.filterViewCondition 4103 return req 4104 } 4105 4106 type UpdateSpreadsheetSheetFilterViewConditionReq struct { 4107 apiReq *larkcore.ApiReq 4108 FilterViewCondition *FilterViewCondition `body:""` 4109 } 4110 4111 type UpdateSpreadsheetSheetFilterViewConditionRespData struct { 4112 Condition *FilterViewCondition `json:"condition,omitempty"` // 更新后的筛选条件 4113 } 4114 4115 type UpdateSpreadsheetSheetFilterViewConditionResp struct { 4116 *larkcore.ApiResp `json:"-"` 4117 larkcore.CodeError 4118 Data *UpdateSpreadsheetSheetFilterViewConditionRespData `json:"data"` // 业务数据 4119 } 4120 4121 func (resp *UpdateSpreadsheetSheetFilterViewConditionResp) Success() bool { 4122 return resp.Code == 0 4123 } 4124 4125 type CreateSpreadsheetSheetFloatImageReqBuilder struct { 4126 apiReq *larkcore.ApiReq 4127 floatImage *FloatImage 4128 } 4129 4130 func NewCreateSpreadsheetSheetFloatImageReqBuilder() *CreateSpreadsheetSheetFloatImageReqBuilder { 4131 builder := &CreateSpreadsheetSheetFloatImageReqBuilder{} 4132 builder.apiReq = &larkcore.ApiReq{ 4133 PathParams: larkcore.PathParams{}, 4134 QueryParams: larkcore.QueryParams{}, 4135 } 4136 return builder 4137 } 4138 4139 // 表格 token 4140 // 4141 // 示例值:shtcnmBA*****yGehy8 4142 func (builder *CreateSpreadsheetSheetFloatImageReqBuilder) SpreadsheetToken(spreadsheetToken string) *CreateSpreadsheetSheetFloatImageReqBuilder { 4143 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 4144 return builder 4145 } 4146 4147 // 子表 id 4148 // 4149 // 示例值:0b**12 4150 func (builder *CreateSpreadsheetSheetFloatImageReqBuilder) SheetId(sheetId string) *CreateSpreadsheetSheetFloatImageReqBuilder { 4151 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 4152 return builder 4153 } 4154 4155 // 根据传入的参数创建一张浮动图片。Float_image_token ([上传图片至表格后得到](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/drive-v1/media/upload_all))和range(只支持一个单元格) 必填。Float_image_id 可选,不填的话会默认生成,长度为10,由 0-9、a-z、A-Z 组合生成。表格内不重复的图片(浮动图片+单元格图片)总数不超过4000。width 和 height 为图片展示的宽高,可选,不填的话会使用图片的真实宽高。offset_x 和 offset_y 为图片左上角距离所在单元格左上角的偏移,可选,默认为 0。 4156 func (builder *CreateSpreadsheetSheetFloatImageReqBuilder) FloatImage(floatImage *FloatImage) *CreateSpreadsheetSheetFloatImageReqBuilder { 4157 builder.floatImage = floatImage 4158 return builder 4159 } 4160 4161 func (builder *CreateSpreadsheetSheetFloatImageReqBuilder) Build() *CreateSpreadsheetSheetFloatImageReq { 4162 req := &CreateSpreadsheetSheetFloatImageReq{} 4163 req.apiReq = &larkcore.ApiReq{} 4164 req.apiReq.PathParams = builder.apiReq.PathParams 4165 req.apiReq.Body = builder.floatImage 4166 return req 4167 } 4168 4169 type CreateSpreadsheetSheetFloatImageReq struct { 4170 apiReq *larkcore.ApiReq 4171 FloatImage *FloatImage `body:""` 4172 } 4173 4174 type CreateSpreadsheetSheetFloatImageRespData struct { 4175 FloatImage *FloatImage `json:"float_image,omitempty"` // 浮动图片返回值 4176 } 4177 4178 type CreateSpreadsheetSheetFloatImageResp struct { 4179 *larkcore.ApiResp `json:"-"` 4180 larkcore.CodeError 4181 Data *CreateSpreadsheetSheetFloatImageRespData `json:"data"` // 业务数据 4182 } 4183 4184 func (resp *CreateSpreadsheetSheetFloatImageResp) Success() bool { 4185 return resp.Code == 0 4186 } 4187 4188 type DeleteSpreadsheetSheetFloatImageReqBuilder struct { 4189 apiReq *larkcore.ApiReq 4190 } 4191 4192 func NewDeleteSpreadsheetSheetFloatImageReqBuilder() *DeleteSpreadsheetSheetFloatImageReqBuilder { 4193 builder := &DeleteSpreadsheetSheetFloatImageReqBuilder{} 4194 builder.apiReq = &larkcore.ApiReq{ 4195 PathParams: larkcore.PathParams{}, 4196 QueryParams: larkcore.QueryParams{}, 4197 } 4198 return builder 4199 } 4200 4201 // 表格 token 4202 // 4203 // 示例值:shtcnmBA*****yGehy8 4204 func (builder *DeleteSpreadsheetSheetFloatImageReqBuilder) SpreadsheetToken(spreadsheetToken string) *DeleteSpreadsheetSheetFloatImageReqBuilder { 4205 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 4206 return builder 4207 } 4208 4209 // 子表 id 4210 // 4211 // 示例值:0b**12 4212 func (builder *DeleteSpreadsheetSheetFloatImageReqBuilder) SheetId(sheetId string) *DeleteSpreadsheetSheetFloatImageReqBuilder { 4213 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 4214 return builder 4215 } 4216 4217 // 浮动图片 id 4218 // 4219 // 示例值:ye06SS14ph 4220 func (builder *DeleteSpreadsheetSheetFloatImageReqBuilder) FloatImageId(floatImageId string) *DeleteSpreadsheetSheetFloatImageReqBuilder { 4221 builder.apiReq.PathParams.Set("float_image_id", fmt.Sprint(floatImageId)) 4222 return builder 4223 } 4224 4225 func (builder *DeleteSpreadsheetSheetFloatImageReqBuilder) Build() *DeleteSpreadsheetSheetFloatImageReq { 4226 req := &DeleteSpreadsheetSheetFloatImageReq{} 4227 req.apiReq = &larkcore.ApiReq{} 4228 req.apiReq.PathParams = builder.apiReq.PathParams 4229 return req 4230 } 4231 4232 type DeleteSpreadsheetSheetFloatImageReq struct { 4233 apiReq *larkcore.ApiReq 4234 } 4235 4236 type DeleteSpreadsheetSheetFloatImageResp struct { 4237 *larkcore.ApiResp `json:"-"` 4238 larkcore.CodeError 4239 } 4240 4241 func (resp *DeleteSpreadsheetSheetFloatImageResp) Success() bool { 4242 return resp.Code == 0 4243 } 4244 4245 type GetSpreadsheetSheetFloatImageReqBuilder struct { 4246 apiReq *larkcore.ApiReq 4247 } 4248 4249 func NewGetSpreadsheetSheetFloatImageReqBuilder() *GetSpreadsheetSheetFloatImageReqBuilder { 4250 builder := &GetSpreadsheetSheetFloatImageReqBuilder{} 4251 builder.apiReq = &larkcore.ApiReq{ 4252 PathParams: larkcore.PathParams{}, 4253 QueryParams: larkcore.QueryParams{}, 4254 } 4255 return builder 4256 } 4257 4258 // 表格 token 4259 // 4260 // 示例值:shtcnmBA*****yGehy8 4261 func (builder *GetSpreadsheetSheetFloatImageReqBuilder) SpreadsheetToken(spreadsheetToken string) *GetSpreadsheetSheetFloatImageReqBuilder { 4262 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 4263 return builder 4264 } 4265 4266 // 子表 id 4267 // 4268 // 示例值:0b**12 4269 func (builder *GetSpreadsheetSheetFloatImageReqBuilder) SheetId(sheetId string) *GetSpreadsheetSheetFloatImageReqBuilder { 4270 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 4271 return builder 4272 } 4273 4274 // 浮动图片 id 4275 // 4276 // 示例值:ye06SS14ph 4277 func (builder *GetSpreadsheetSheetFloatImageReqBuilder) FloatImageId(floatImageId string) *GetSpreadsheetSheetFloatImageReqBuilder { 4278 builder.apiReq.PathParams.Set("float_image_id", fmt.Sprint(floatImageId)) 4279 return builder 4280 } 4281 4282 func (builder *GetSpreadsheetSheetFloatImageReqBuilder) Build() *GetSpreadsheetSheetFloatImageReq { 4283 req := &GetSpreadsheetSheetFloatImageReq{} 4284 req.apiReq = &larkcore.ApiReq{} 4285 req.apiReq.PathParams = builder.apiReq.PathParams 4286 return req 4287 } 4288 4289 type GetSpreadsheetSheetFloatImageReq struct { 4290 apiReq *larkcore.ApiReq 4291 } 4292 4293 type GetSpreadsheetSheetFloatImageRespData struct { 4294 FloatImage *FloatImage `json:"float_image,omitempty"` // 浮动图片信息 4295 } 4296 4297 type GetSpreadsheetSheetFloatImageResp struct { 4298 *larkcore.ApiResp `json:"-"` 4299 larkcore.CodeError 4300 Data *GetSpreadsheetSheetFloatImageRespData `json:"data"` // 业务数据 4301 } 4302 4303 func (resp *GetSpreadsheetSheetFloatImageResp) Success() bool { 4304 return resp.Code == 0 4305 } 4306 4307 type PatchSpreadsheetSheetFloatImageReqBuilder struct { 4308 apiReq *larkcore.ApiReq 4309 floatImage *FloatImage 4310 } 4311 4312 func NewPatchSpreadsheetSheetFloatImageReqBuilder() *PatchSpreadsheetSheetFloatImageReqBuilder { 4313 builder := &PatchSpreadsheetSheetFloatImageReqBuilder{} 4314 builder.apiReq = &larkcore.ApiReq{ 4315 PathParams: larkcore.PathParams{}, 4316 QueryParams: larkcore.QueryParams{}, 4317 } 4318 return builder 4319 } 4320 4321 // 表格 token 4322 // 4323 // 示例值:shtcnmBA*****yGehy8 4324 func (builder *PatchSpreadsheetSheetFloatImageReqBuilder) SpreadsheetToken(spreadsheetToken string) *PatchSpreadsheetSheetFloatImageReqBuilder { 4325 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 4326 return builder 4327 } 4328 4329 // 子表 id 4330 // 4331 // 示例值:0b**12 4332 func (builder *PatchSpreadsheetSheetFloatImageReqBuilder) SheetId(sheetId string) *PatchSpreadsheetSheetFloatImageReqBuilder { 4333 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 4334 return builder 4335 } 4336 4337 // 浮动图片 id 4338 // 4339 // 示例值:ye06SS14ph 4340 func (builder *PatchSpreadsheetSheetFloatImageReqBuilder) FloatImageId(floatImageId string) *PatchSpreadsheetSheetFloatImageReqBuilder { 4341 builder.apiReq.PathParams.Set("float_image_id", fmt.Sprint(floatImageId)) 4342 return builder 4343 } 4344 4345 // 更新已有的浮动图片位置和宽高,包括 range、width、height、offset_x 和 offset_y,不包括 float_image_id 和 float_image_token。 4346 func (builder *PatchSpreadsheetSheetFloatImageReqBuilder) FloatImage(floatImage *FloatImage) *PatchSpreadsheetSheetFloatImageReqBuilder { 4347 builder.floatImage = floatImage 4348 return builder 4349 } 4350 4351 func (builder *PatchSpreadsheetSheetFloatImageReqBuilder) Build() *PatchSpreadsheetSheetFloatImageReq { 4352 req := &PatchSpreadsheetSheetFloatImageReq{} 4353 req.apiReq = &larkcore.ApiReq{} 4354 req.apiReq.PathParams = builder.apiReq.PathParams 4355 req.apiReq.Body = builder.floatImage 4356 return req 4357 } 4358 4359 type PatchSpreadsheetSheetFloatImageReq struct { 4360 apiReq *larkcore.ApiReq 4361 FloatImage *FloatImage `body:""` 4362 } 4363 4364 type PatchSpreadsheetSheetFloatImageRespData struct { 4365 FloatImage *FloatImage `json:"float_image,omitempty"` // 浮动图片信息 4366 } 4367 4368 type PatchSpreadsheetSheetFloatImageResp struct { 4369 *larkcore.ApiResp `json:"-"` 4370 larkcore.CodeError 4371 Data *PatchSpreadsheetSheetFloatImageRespData `json:"data"` // 业务数据 4372 } 4373 4374 func (resp *PatchSpreadsheetSheetFloatImageResp) Success() bool { 4375 return resp.Code == 0 4376 } 4377 4378 type QuerySpreadsheetSheetFloatImageReqBuilder struct { 4379 apiReq *larkcore.ApiReq 4380 } 4381 4382 func NewQuerySpreadsheetSheetFloatImageReqBuilder() *QuerySpreadsheetSheetFloatImageReqBuilder { 4383 builder := &QuerySpreadsheetSheetFloatImageReqBuilder{} 4384 builder.apiReq = &larkcore.ApiReq{ 4385 PathParams: larkcore.PathParams{}, 4386 QueryParams: larkcore.QueryParams{}, 4387 } 4388 return builder 4389 } 4390 4391 // 表格 token 4392 // 4393 // 示例值:shtcnmBA*****yGehy8 4394 func (builder *QuerySpreadsheetSheetFloatImageReqBuilder) SpreadsheetToken(spreadsheetToken string) *QuerySpreadsheetSheetFloatImageReqBuilder { 4395 builder.apiReq.PathParams.Set("spreadsheet_token", fmt.Sprint(spreadsheetToken)) 4396 return builder 4397 } 4398 4399 // 子表 id 4400 // 4401 // 示例值:0b**12 4402 func (builder *QuerySpreadsheetSheetFloatImageReqBuilder) SheetId(sheetId string) *QuerySpreadsheetSheetFloatImageReqBuilder { 4403 builder.apiReq.PathParams.Set("sheet_id", fmt.Sprint(sheetId)) 4404 return builder 4405 } 4406 4407 func (builder *QuerySpreadsheetSheetFloatImageReqBuilder) Build() *QuerySpreadsheetSheetFloatImageReq { 4408 req := &QuerySpreadsheetSheetFloatImageReq{} 4409 req.apiReq = &larkcore.ApiReq{} 4410 req.apiReq.PathParams = builder.apiReq.PathParams 4411 return req 4412 } 4413 4414 type QuerySpreadsheetSheetFloatImageReq struct { 4415 apiReq *larkcore.ApiReq 4416 } 4417 4418 type QuerySpreadsheetSheetFloatImageRespData struct { 4419 Items []*FloatImage `json:"items,omitempty"` // 子表的所有浮动图片信息 4420 } 4421 4422 type QuerySpreadsheetSheetFloatImageResp struct { 4423 *larkcore.ApiResp `json:"-"` 4424 larkcore.CodeError 4425 Data *QuerySpreadsheetSheetFloatImageRespData `json:"data"` // 业务数据 4426 } 4427 4428 func (resp *QuerySpreadsheetSheetFloatImageResp) Success() bool { 4429 return resp.Code == 0 4430 }