Temel yazma

Google E-Tablolar API, hücrelere, aralıklara, aralık kümelerine ve e-tabloların tamamına değer ve formül yazmanıza olanak tanır. Bu sayfada, E-Tablolar API'sinin spreadsheets.values kaynağıyla bazı yaygın yazma işlemlerinin nasıl yapılabileceği gösterilmektedir.

Hücre değerlerini spreadsheet.batchUpdate yöntemini kullanarak da yazabileceğinizi unutmayın. Bu yöntem, hücre biçimlendirmesini veya kaynağın etkilemediği diğer özellikleri aynı anda güncellemek istiyorsanız yararlı olabilir.spreadsheets.values Örneğin, hem hücre formülünün hem de hücre biçimlendirmesinin üzerine yazarak bir hücre aralığını bir sayfadan diğerine kopyalamak istiyorsanız spreadsheet.batchUpdate ile UpdateCellsRequest yöntemini kullanabilirsiniz.

Ancak basit değer yazma işlemleri için spreadsheets.values.update yöntemini veya spreadsheets.values.batchUpdate yöntemini kullanmak daha kolaydır.

Bu örnekler, dil açısından tarafsız olması için HTTP istekleri biçiminde sunulur. Google API istemci kitaplıklarını kullanarak farklı dillerde yazma işlemlerini nasıl uygulayacağınızı öğrenmek için Hücre değerlerini okuma ve yazma başlıklı makaleyi inceleyin.

Bu örneklerde, SPREADSHEET_ID yer tutucusu, e-tablo URL'sinden bulunabilen e-tablo kimliğini nerede sağlayacağınızı gösterir. Yazılacak aralıklar A1 gösterimi kullanılarak belirtilir. Örnek aralık: Sayfa1!A1:D5.

Tek bir aralık yazma

Yeni ve boş bir e-tabloyla başlayan aşağıdaki spreadsheets.values.update kod örneğinde, değerlerin bir aralığa nasıl yazılacağı gösterilmektedir. ValueInputOption sorgu parametresi zorunludur ve yazılan değerlerin ayrıştırılıp ayrıştırılmayacağını belirler (ör. bir dizenin tarihe dönüştürülüp dönüştürülmeyeceği).

İstek gövdesi, yazılacak aralık değerlerini açıklayan bir ValueRange nesnesidir. majorDimension alanı, dizilerin satırlara göre düzenlenmiş değer listeleri olduğunu gösterir. Hedef aralıkta mevcut değerlerin üzerine yazılır.

İstek protokolü aşağıda gösterilmiştir.

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:D5?valueInputOption=VALUE_INPUT_OPTION
{
  "range": "Sheet1!A1:D5",
  "majorDimension": "ROWS",
  "values": [
    ["Item", "Cost", "Stocked", "Ship Date"],
    ["Wheel", "$20.50", "4", "3/1/2016"],
    ["Door", "$15", "2", "3/15/2016"],
    ["Engine", "$100", "1", "3/20/2016"],
    ["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
  ],
}

Yanıt, aşağıdaki gibi bir UpdateValuesResponse nesnesinden oluşur:

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!A1:D5",
  "updatedRows": 5,
  "updatedColumns": 4,
  "updatedCells": 20,
}

Elde edilen sayfa aşağıdaki gibi görünür:

A B C D
1 Öğe Maliyet Stokta Gönderim Tarihi
2 Tekerlek 20,50 ABD doları 4 3/1/2016
3 Kapı Hong Kong doları 2 15.03.2016
4 Motor 100 ABD doları 1 20.03.2016
5 Toplam 135,5 ABD doları 7 20.03.2016

Bir aralığa seçerek yazma

Bir aralığa değer yazarken, ilgili dizi öğelerini null olarak ayarlayarak bazı mevcut hücrelerin değişmesini önleyebilirsiniz. Bir hücreye boş bir dize ("") yazarak da hücreyi temizleyebilirsiniz.

Yukarıdaki örnekte üretilen verileri içeren bir sayfadan başlayarak aşağıdaki spreadsheets.values.update kod örneğinde, değerleri B1:D4 aralığına nasıl yazacağınız gösterilmektedir. Bu işlemde, bazı hücreler değiştirilmeden bırakılırken diğerleri temizlenir. ValueInputOption sorgu parametresi zorunludur ve yazılan değerlerin ayrıştırılıp ayrıştırılmayacağını belirler (ör. bir dizenin tarihe dönüştürülüp dönüştürülmeyeceği).

İstek gövdesi, yazılacak aralık değerlerini açıklayan bir ValueRange nesnesidir. majorDimension alanı, dizilerin sütuna göre düzenlenmiş değer listeleri olduğunu gösterir.

İstek protokolü aşağıda gösterilmiştir.

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!B1?valueInputOption=VALUE_INPUT_OPTION
{
  "range": "Sheet1!B1",
  "majorDimension": "COLUMNS",
  "values": [
    [null,"$1","$2", ""],
    [],
    [null,"4/1/2016", "4/15/2016", ""]
  ]
}

Buradaki values alanında, aralıktaki her sütunda yapılan değişiklikler listelenir. İlk dizi, B1'in (null dizi öğesi nedeniyle) değiştirilmeden bırakılacağını, B4'ün ise temizleneceğini (boş dize) belirtir. B2 ve B3 hücrelerinin değerleri güncellendi. Üçüncü dizi, D sütununda aynı işlemleri gerçekleştirirken ikinci boş dizi, C sütununun değiştirilmeyeceğini belirtir.

Yanıt, aşağıdaki gibi bir UpdateValuesResponse nesnesinden oluşur:

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!B1:D5",
  "updatedRows": 3,
  "updatedColumns": 2,
  "updatedCells": 6,
}

Sonuçta oluşturulan sayfa aşağıdaki gibi görünür:

A B C D
1 Öğe Maliyet Stokta Gönderim Tarihi
2 Tekerlek 1,00 ABD doları 4 01.04.2016
3 Kapı 2 ABD doları 2 15.04.2016
4 Motor 1
5 Toplam 3,00 ABD doları 7 15.04.2016

"Toplamlar" satırının bu istekle doğrudan değiştirilmediğini ancak hücreleri değiştirilen hücrelere bağlı formüller içerdiği için değiştiğini unutmayın.

Birden çok alana yazma

Aşağıdaki spreadsheets.values.batchUpdate kod örneğinde, boş bir sayfadan başlayarak değerlerin Sayfa1!A1:A4 ve Sayfa1!B1:D2 aralıklarını nasıl yazacağı gösterilmektedir. Hedef aralıkta bulunan mevcut değerlerin üzerine yazılır. İstek gövdesi, giriş verilerinin nasıl yorumlanacağını gösteren bir ValueInputOption nesnesi ve yazılan her aralığa karşılık gelen bir ValueRange nesnesi dizisinden oluşur. majorDimension alanı, dahil edilen dizilerin sütun dizisi mi yoksa satır dizisi mi olarak yorumlanacağını belirler.

İstek protokolü aşağıda gösterilmiştir.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values:batchUpdate
{
  "valueInputOption": "VALUE_INPUT_OPTION",
  "data": [
    {
      "range": "Sheet1!A1:A4",
      "majorDimension": "COLUMNS",
      "values": [
        ["Item", "Wheel", "Door", "Engine"]
      ]
    },
    {
      "range": "Sheet1!B1:D2",
      "majorDimension": "ROWS",
      "values": [
        ["Cost", "Stocked", "Ship Date"],
        ["$20.50", "4", "3/1/2016"]
      ]
    }
  ]
}

Yanıt, güncellenen hücre istatistiklerini listeleyen bir nesneden ve her güncellenen aralık için bir UpdateValuesResponse nesnesi dizisinden oluşur. Örneğin:

{
  "spreadsheetId": SPREADSHEET_ID,
  "totalUpdatedRows": 4,
  "totalUpdatedColumns": 4,
  "totalUpdatedCells": 10,
  "totalUpdatedSheets": 1,
  "responses": [
    {
      "spreadsheetId": SPREADSHEET_ID,
      "updatedRange": "Sheet1!A1:A4",
      "updatedRows": 4,
      "updatedColumns": 1,
      "updatedCells": 4,
    },
    {
      "spreadsheetId": SPREADSHEET_ID,
      "updatedRange": "Sheet1!B1:D2",
      "updatedRows": 2,
      "updatedColumns": 3,
      "updatedCells": 6,
    }
  ],
}

Elde edilen sayfa aşağıdaki gibi görünür:

A B C D
1 Öğe Maliyet Stokta Gönderim Tarihi
2 Tekerlek 20,50 ABD doları 4 3/1/2016
3 Kapı
4 Motor
5

Ayrıştırmadan değer yazma

Boş bir sayfayla başlayan aşağıdaki spreadsheets.values.update kod örneği, değerlerin Sayfa1!A1:E1 aralığına nasıl yazılacağını gösterir ancak yazılan dizelerin formül, doğru/yanlış veya sayı olarak ayrıştırılmasını önlemek için RAW ValueInputOption sorgu parametresini kullanır. Bunlar dize olarak görünür ve sayfadaki metin hizalaması sağa dayalı olur.

İstek gövdesi, yazılacak aralık değerlerini açıklayan bir ValueRange nesnesidir. majorDimension alanı, dizilerin satırlara göre düzenlenmiş değer listeleri olduğunu gösterir. Hedef aralıkta mevcut değerlerin üzerine yazılır.

İstek protokolü aşağıda gösterilmiştir.

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:E1?valueInputOption=RAW
{
  "range": "Sheet1!A1:E1",
  "majorDimension": "ROWS",
  "values": [
    ["Data", 123.45, true, "=MAX(D2:D4)", "10"]
  ],
}

Yanıt, aşağıdaki gibi bir UpdateValuesResponse nesnesinden oluşur:

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!A1:E1",
  "updatedRows": 1,
  "updatedColumns": 5,
  "updatedCells": 5,
}

Elde edilen sayfa aşağıdaki gibi görünür:

A B C D E
1 Veriler 123,45 DOĞRU =MAK(D2:D4) 10
2

"DOĞRU"nun ortalanıp bir boole değeri olduğunu, "123, 45"in sayı olduğu için sağa yaslandığını ve "10"un dize olduğu için sola yaslandığını unutmayın. Formül ayrıştırılmaz ve dize olarak görünür.

Değer ekleme

Aşağıdaki tabloya benzer bir sayfayla başlayın:

A B C D
1 Öğe Maliyet Stokta Gönderim Tarihi
2 Tekerlek 20,50 ABD doları 4 3/1/2016
3

Aşağıdaki spreadsheets.values.append kod örneğinde, 3. satırdan itibaren iki yeni değer satırının nasıl ekleneceği gösterilmektedir. ValueInputOption sorgu parametresi zorunludur ve yazılan değerlerin ayrıştırılıp ayrıştırılmayacağını belirler (ör. bir dizenin tarihe dönüştürülüp dönüştürülmeyeceği).

İstek gövdesi, yazılacak aralık değerlerini açıklayan bir ValueRange nesnesidir. majorDimension alanı, dizilerin satırlara göre düzenlenmiş değer listeleri olduğunu gösterir.

İstek protokolü aşağıda gösterilmiştir.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:E1:append?valueInputOption=VALUE_INPUT_OPTION
{
  "range": "Sheet1!A1:E1",
  "majorDimension": "ROWS",
  "values": [
    ["Door", "$15", "2", "3/15/2016"],
    ["Engine", "$100", "1", "3/20/2016"],
  ],
}

Yanıt, aşağıdaki gibi bir AppendValuesResponse nesnesinden oluşur:

{
  "spreadsheetId": SPREADSHEET_ID,
  "tableRange": "Sheet1!A1:D2",
  "updates": {
    "spreadsheetId": SPREADSHEET_ID,
    "updatedRange": "Sheet1!A3:D4",
    "updatedRows": 2,
    "updatedColumns": 4,
    "updatedCells": 8,
  }
}

Sonuçta oluşturulan sayfa aşağıdaki gibi görünür:

A B C D
1 Öğe Maliyet Stokta Gönderim Tarihi
2 Tekerlek 20,50 ABD doları 4 3/1/2016
3 Kapı Hong Kong doları 2 15.03.2016
4 Motor 100 ABD doları 1 20.03.2016
5