5

C# 内の特定の列からデータの行をリストとして取得できることを望んでいます。したがって、人の身長の列があれば、それらの身長がリストに表示されます。場合によっては、特定の日付のリンゴの数を示す x、y 値もリストします。

API 情報に記載されている例を見ましたが、これを行う方法の例が見つかりません。ほとんどの場合、フォルダー、ユーザーの作成、フォルダーまたはシートのリスト、スマートシートへの情報の入力などで構成されていますが、実際にデータを取得することについては何もありません。

これが私が見たコードです: https://github.com/smartsheet-platform/samples/tree/master/c%23 https://github.com/smartsheet-platform/smartsheet-csharp-sdk

しかし、実際にはデータをリストとして取り出して、エンド ユーザー向けに C# 内で少し処理したいので、スマートシートに戻したくありません。

APIを使用してファイルをExcelシートとしてダウンロードし、そこから移動する唯一の方法はありますか? 可能であれば、このステップをスキップしたかったのですか?

これを行うために C# SDK を使用したいと考えています。

シートを取得するために入力する必要があると思われる特定のコード(だと思います)はこれです。

// 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();

これは最後のパラメーターであり、何が必要なのかわかりません。GetSheet メソッドには次のように書かれています。

Sheet GetSheet( long id, IEnumerable includes )

ObjectInclusion Enumeration へのリンクは次のとおりです - http://smartsheet-platform.github.io/smartsheet-csharp-sdk/html/T_Smartsheet_Api_Models_ObjectInclusion.htm

4

1 に答える 1

5

これは、すべてのシートにセル データを印刷する例です。

        // 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();
            }
        }

他のいくつかの質問に答えるには:

APIを使用してファイルをExcelシートとしてダウンロードし、そこから移動する唯一の方法はありますか? 可能であれば、このステップをスキップしたかったのですか?

C# SDKAPIはどちらも、シート データの一部またはすべてを取得する機能をサポートしています。シート内のデータを操作するために、シートを Excel ファイルとしてダウンロードする必要はありません。

彼らが何を必要としているのかわからない。GetSheet メソッドには次のように書かれています: Sheet GetSheet ( long id, IEnumerable<ObjectInclusion>)

IEnumerableは反復可能な単なるコレクションです。このインターフェイスを実装する 2 番目のパラメーターには、任意のコレクションを使用できます。コレクションには、そのリストにObjectInclusion項目が含まれている必要があります。私の例では、IEnumerable を実装するIListを実装するため、配列を使用しました。

于 2014-12-04T22:57:13.617 に答える