2014-12-04 18 views
5

Veri satırlarını C# içindeki belirli sütunlardan bir liste olarak alabilmeyi umuyordum. Yani, bir kişi yüksekliği yüksekliği varsa, bu yükseklikleri bir listede sıralar. Potansiyel olarak ayrıca x, y değerleri listesi belirli bir tarihte elma sayısını söyler.C# içinde bulunan akıllı satırdaki satır verilerini al C#

API bilgileriyle ilgili verilen örneklere baktım ve bunun nasıl yapılacağına dair herhangi bir örnek bulamıyorum - çoğunlukla klasör oluşturma, klasör veya sayfa oluşturma veya klasör oluşturma veya smartsheet vb. veri alınıyor. İşte

ben baktım kodudur: https://github.com/smartsheet-platform/samples/tree/master/c%23 https://github.com/smartsheet-platform/smartsheet-csharp-sdk

Ama aslında bir liste halinde veri çekin ve sonra son kullanıcılar için C# içinde biraz bu yüzden isteyen değilim işlemek istiyorum smartsheets'e geri koymak için.

Dosyayı, API kullanarak dosyayı Excel'den indirmek ve oradan gitmek için bunu yapmanın tek yolu bu mu? Mümkünse bu adımı atlamak istedim gerçekten?

Eklemem gerekir Bunu yapmak için C# SDK kullanmak istiyorum.

Girmek zorunda olduğumu düşündüğüm özel kod (sanırım) bu sayfayı almak için.

// Set the Access Token 
Token token = new Token(); 
token.AccessToken = "INSERT_YOUR_TOKEN_HERE"; 
long id = "INSERT SHEET ID HERE"; 


// Use the Smartsheet Builder to create a Smartsheet 
SmartsheetClient smartsheet = new SmartsheetBuilder().SetAccessToken(
token.AccessToken).Build(); 

//Code to get sheet 
smartsheet.Sheets().GetSheet(long id, **IEnumerable<ObjectInclusion?includes**).Rows(); 

Bu, son parametreler Neye ihtiyaç duyduğundan emin değilim. Bu GetSheet yönteminde diyor ki:

İşte

ObjectInclusion Numaralama bağlantısıdır ( uzun kimliği IEnumerable içerir)

Sac GetSheet - İşte

cevap

5

http://smartsheet-platform.github.io/smartsheet-csharp-sdk/html/T_Smartsheet_Api_Models_ObjectInclusion.htm hücre verilerini yazdırır bir örnektir her sayfada.

 // Set the Access Token 
     Token token = new Token(); 
     token.AccessToken = "YOUR_TOKEN"; 

     // Use the Smartsheet Builder to create a Smartsheet 
     SmartsheetClient smartsheet = new SmartsheetBuilder().SetAccessToken(token.AccessToken).Build(); 

     // Gets just a list of sheets (not the actual data in the sheet) 
     IList<Sheet> homeSheets = smartsheet.Sheets().ListSheets(); 
     foreach (Sheet tmpSheet in homeSheets) 
     { 
      Console.WriteLine("========== New Sheet: " + tmpSheet.Name); 
      // Get the sheet with the data 
      Sheet sheet = smartsheet.Sheets().GetSheet((long)tmpSheet.ID, new ObjectInclusion[] { ObjectInclusion.DATA, ObjectInclusion.COLUMNS }); 

      int rowCount = 0; 
      foreach (Row tmpRow in sheet.Rows) 
      { 
       Console.Write(rowCount++ + ": "); 
       foreach (Cell tmpCell in tmpRow.Cells) 
       { 
        Console.Write(tmpCell.Value + "|"); 
       } 
       Console.WriteLine(); 
      } 
     } 

diğer bazı sorulara cevap için:

API kullanarak ve oradan gidiyor Excel sayfası olarak dosya indirmek için bunu yapmanın tek yolu var mı? Mümkünse bu adımı atlamak istedim gerçekten?

C# SDK

ve API iki parça veya levha veri almak için destek vermektedir. Sayfadaki verilerle çalışmak için sayfayı bir Excel dosyası olarak indirmeniz gerekmez.

Neye ihtiyaçları olduğuna emin değilim. Bu GetSheet yönteminde diyor ki: Levha GetSheet (uzun kimliği <ObjectInclusion> IEnumerable)

bir IEnumerable sadece iterable bir koleksiyon. Bu arayüzü uygulayan 2. parametre için herhangi bir koleksiyonu kullanabilirsiniz. Koleksiyon, listede ObjectInclusion ürün bulunmalıdır. Örneğimde, IEnumerable uygulayan bir IList uygulayan bir dizi kullandım.

+1

Çok teşekkür ederim Brett – Danrex