Google Slaytlar API'si, sayfalarda tablo oluşturup düzenlemenize olanak tanır. Bu sayfadaki örnekler, presentations.batchUpdate
yöntemini kullanan bazı yaygın tablo işlemlerini göstermektedir.
Bu örneklerde aşağıdaki değişkenler kullanılmaktadır:
- PRESENTATION_ID: Sunu kimliğini sağladığınız yeri belirtir. Bu kimliğin değerini sunu URL'sinden bulabilirsiniz.
- PAGE_ID: Sayfa nesnesi kimliklerini sağladığınız yeri gösterir. Bunun değerini URL'den veya API okuma isteği kullanarak alabilirsiniz.
- TABLE_ID: Üzerinde çalıştığınız tablo için sayfa öğesi nesne kimliğini nereye sağladığınızı belirtir. Oluşturduğunuz öğeler için bu kimliği belirtebilir (bazı kısıtlamalarla birlikte) veya Slides API'nin otomatik olarak kimlik oluşturmasına izin verebilirsiniz. Öğe kimlikleri, API okuma isteği aracılığıyla alınabilir.
Bu örnekler, dilden bağımsız olarak HTTP istekleri olarak sunulur. Google API istemci kitaplıklarını kullanarak farklı dillerde toplu güncelleme yapmayı öğrenmek için Şekil ve metin ekleme bölümüne bakın.
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 var. Slaytlar API'nin, elementProperties
kapsamında sağlanan tüm size
veya transform
alanlarını yoksaydığını unutmayın.
Bunun yerine API, kabaca slayt üzerinde ortalanan ve mümkünse belirtilen sayıda satır ve sütunu barındıracak şekilde boyutlandırılmış bir tablo oluşturur.
Tablo oluşturmak için kullanılacak 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ın kaldırılması 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 rowIndex
ve columnIndex
sıfır tabanlıdır.
Aşağıda, tablo satırlarını veya sütunlarını silmek için kullanılan istek protokolü 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üzenle
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 bunu yeni "Kangaroo" metniyle değiştirir.
Tablo, TABLE_ID ile belirtilir. Etkilenen hücre beşinci satır
ve üçüncü sütundadır. cellLocation
içindeki rowIndex
ve columnIndex
sıfır tabanlıdır.
Aşağıda, tablo verilerini düzenlemek için kullanılacak istek protokolü 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ığı satırını biçimlendirme
Aşağıdaki presentations.batchUpdate
kod örneğinde, bir tablo öğesinin başlık satırını, TABLE_ID tarafından belirtilen tableRange
içinde biçimlendirmek için UpdateTableCellPropertiesRequest
yönteminin nasıl kullanılacağı gösterilmektedir. Daha sonra, başlık satırının arka plan rengini siyah yapmak için TableCellProperties
yöntemini kullanır.
Aşağıdaki her istekte, başlık satırının bir hücresindeki metin biçimini textRange
içinde kalın ve beyaz renkli 18 punto Cambiya yazı tipine ayarlamak için UpdateTextStyleRequest
yöntemi kullanılır. Daha sonra başlıktaki her ek hücre için bu isteği tekrarlamanız gerekir.
location
ve cellLocation
içindeki rowIndex
ve columnIndex
sıfır tabanlıdır.
Aşağıda, bir tablo başlığı satırını biçimlendirmek için kullanılan istek protokolü 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ı ekle
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. Daha sonra, aynı tablodaki dördüncü sütunun soluna iki sütun eklemek için InsertTableColumnsRequest
yöntemini kullanır.
Tablo, TABLE_ID ile belirtilir. cellLocation
içindeki rowIndex
ve columnIndex
sıfır tabanlıdır.
Tablo satırları veya sütunları eklemek için kullanılacak 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 } } ] }