Google Slaytlar API'si, sayfalarda tablo oluşturmanıza ve düzenlemenize olanak tanır. Bu sayfada, presentations.batchUpdate
yönteminin kullanıldığı bazı yaygın tablo işlemleri gösterilmektedir.
Bu örneklerde aşağıdaki değişkenler kullanılmaktadır:
- PRESENTATION_ID: Sunu kimliğini nerede sağladığınızı belirtir. Bu kimliğin değerini sununun URL'sinden öğrenebilirsiniz.
- PAGE_ID: Sayfa nesnesi kimliklerini nerede sağladığınızı belirtir. Bu değerini URL'den veya API okuma isteği kullanarak alabilirsiniz.
- TABLE_ID: Çalıştığınız tablonun sayfa öğesi nesne kimliğini nerede sağladığınızı belirtir. Oluşturduğunuz öğeler için bu kimliği belirtebilir (bazı kısıtlamalarla) veya Slaytlar API'nin otomatik olarak bir kimlik oluşturmasına izin verebilirsiniz. Öğe kimlikleri, API okuma isteği aracılığıyla alınabilir.
Bu örnekler, dil açısından tarafsız olması için HTTP istekleri olarak sunulur. Google API istemci kitaplıklarını kullanarak farklı dillerde toplu güncelleme yapmayı öğrenmek için Şekil ve metin ekleme başlıklı makaleyi inceleyin.
Tablo oluşturma
Aşağıdaki
presentations.batchUpdate
kod örneğinde, PAGE_ID tarafından belirtilen bir slayta tablo eklemek için CreateTableRequest
yönteminin nasıl kullanılacağı gösterilmektedir.
Bu tabloda sekiz satır ve beş sütun vardır. Slaytlar API'sinin, elementProperties
kapsamında sağlanan tüm size
veya transform
alanlarını yoksadığını unutmayın.
Bunun yerine API, yaklaşık olarak slaytta ortalanan ve mümkünse belirtilen satır ve sütun sayısını alacak şekilde boyutlandırılmış bir tablo oluşturur.
Tablo oluşturma istek protokolü aşağıda verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createTable": { "objectId": TABLE_ID, "elementProperties": { "pageObjectId": PAGE_ID, }, "rows": 8, "columns": 5 } } ] }
Tablo satırlarını veya sütunlarını silme
Aşağıdaki presentations.batchUpdate
kod örneğinde, altıncı satırı kaldırmak için DeleteTableRowRequest
yönteminin nasıl kullanılacağı gösterilmektedir. Ardından dördüncü sütunu kaldırmak için DeleteTableColumnRequest
yöntemini kullanır. Tablo, TABLE_ID ile belirtilir. cellLocation
içindeki hem rowIndex
hem de columnIndex
sıfır tabanlı olmalıdır.
Tablo satırlarını veya sütunlarını silme istek protokolü aşağıda verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteTableRow": { "tableObjectId": TABLE_ID, "cellLocation": { "rowIndex": 5 } } }, { "deleteTableColumn": { "tableObjectId": TABLE_ID, "cellLocation": { "columnIndex": 3 } } } ] }
Tablo verilerini düzenleme
Aşağıdaki presentations.batchUpdate
kod örneğinde, textRange
içindeki bir hücredeki tüm metni kaldırmak için DeleteTextRequest
yönteminin nasıl kullanılacağı gösterilmektedir. Ardından, InsertTextRequest
yöntemini kullanarak "Kangaroo" adlı yeni metinle değiştirir.
Tablo, TABLE_ID ile belirtilir. Etkilenen hücre beşinci satırda ve üçüncü sütundadır. cellLocation
içindeki hem rowIndex
hem de columnIndex
sıfır tabanlı olmalıdır.
Tablo verilerini düzenlemek için istek protokolü aşağıda verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteText": { "objectId": TABLE_ID, "cellLocation": { "rowIndex": 4, "columnIndex": 2 }, "textRange": { "type": "ALL", } } }, { "insertText": { "objectId": TABLE_ID, "cellLocation": { "rowIndex": 4, "columnIndex": 2 }, "text": "Kangaroo", "insertionIndex": 0 } } ] }
Tablo başlık satırını biçimlendirme
Aşağıdaki presentations.batchUpdate
kod örneğinde, TABLE_ID tarafından belirtilen tableRange
içinde bir tablo öğesinin başlık satırını biçimlendirmek için UpdateTableCellPropertiesRequest
yönteminin nasıl kullanılacağı gösterilmektedir. Ardından, başlık satırının arka plan rengini siyah olarak ayarlamak için TableCellProperties
yöntemini kullanır.
Aşağıdaki her istek, başlık satırının bir hücresindeki metin biçimini textRange
içinde kalın, beyaz 18 punto Cambria yazı tipi olarak ayarlamak için UpdateTextStyleRequest
yöntemini kullanır. Ardından, başlıktaki her ek hücre için bu isteği tekrarlamanız gerekir.
location
ve cellLocation
içindeki hem rowIndex
hem de columnIndex
sıfır tabanlı olmalıdır.
Tablo başlık satırını biçimlendirmek için istek protokolü aşağıda verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updateTableCellProperties": { "objectId": TABLE_ID, "tableRange": { "location": { "rowIndex": 0, "columnIndex": 0 }, "rowSpan": 1, "columnSpan": 3 }, "tableCellProperties": { "tableCellBackgroundFill": { "solidFill": { "color": { "rgbColor": { "red": 0.0, "green": 0.0, "blue": 0.0 } } } } }, "fields": "tableCellBackgroundFill.solidFill.color" } }, { "updateTextStyle": { "objectId": TABLE_ID, "cellLocation": { "rowIndex": 0, "columnIndex": 0 }, "style": { "foregroundColor": { "opaqueColor": { "rgbColor": { "red": 1.0, "green": 1.0, "blue": 1.0 } } }, "bold": true, "fontFamily": "Cambria", "fontSize": { "magnitude": 18, "unit": "PT" } }, "textRange": { "type": "ALL" }, "fields": "foregroundColor,bold,fontFamily,fontSize" } }, // Repeat the above request for each additional cell in the header row.... ] }
Bu güncellemelerden sonra biçimlendirilmiş başlık satırı şu şekilde görünür:
Tablo satırları veya sütunları ekleme
Aşağıdaki presentations.batchUpdate
kod örneğinde, altıncı satırın altına üç satır eklemek için InsertTableRowsRequest
yönteminin nasıl kullanılacağı gösterilmektedir. Ardından, aynı tablodaki dördüncü sütunun soluna iki sütun eklemek için InsertTableColumnsRequest
yöntemini kullanır.
Tablo, TABLE_ID ile belirtilir. Hem rowIndex
hem de cellLocation
içindeki columnIndex
sıfır tabanlı olmalıdır.
Tablo satırları veya sütunları eklemek için istek protokolü aşağıda verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "insertTableRows": { "tableObjectId": TABLE_ID, "cellLocation": { "rowIndex": 5 }, "insertBelow": true, "number": 3 } }, { "insertTableColumns": { "tableObjectId": TABLE_ID, "cellLocation": { "columnIndex": 3 }, "insertRight": false, "number": 2 } } ] }