Smartsheet - 使用API​​将表格下载为Excel文件

时间:2014-02-21 17:46:28

标签: smartsheet-api smartsheet-api-1.1 smartsheet-java-sdk-v1

我正在尝试使用Smartsheet API将工作表下载为Excel文件。我真的很难把正确的代码放在一起来做到这一点。

您能否提供一个使用Smartsheet API下载excel文件的基本代码示例?

1 个答案:

答案 0 :(得分:3)

从工作表创建Excel文件的文档是here。它给出了一个使用curl的示例。安装curl后,可以使用以下命令,并使用适当的值替换粗体字段:

  

卷曲https://api.smartsheet.com/1.1/sheet/ SHEET_ID -H“授权:承载 ACCESS_TOKEN ” - H“接受:application / vnd.ms-excel”-o OUTPUT.XLS

SHEET_ID :这是工作表的ID。通过右键单击工作表选项卡并选择属性,可以在智能表界面(下面的屏幕截图)中检索它。也可以通过点击工作表端点(https://api.smartsheet.com/1.1/sheets)通过API检索它。有关端点的更多信息是here

enter image description here

ACCESS_TOKEN :是一个可通过智能表界面检索的令牌,点击“帐户”选择“个人设置”,然后点击“API访问”。然后单击“生成新访问令牌”按钮以创建新令牌。

enter image description here

OUTPUT.XLS :是将在当前目录中创建的Excel文件的名称。


我还想指出,使用Smartsheet的Java SDK可以完成相同的步骤。在installing the SDK之后,可以使用以下代码将工作表下载为Excel文件。

public static void main(String[] args) throws SmartsheetException, IOException {
    // Setup the File object
    File file = new File("OUTPUT.XLS");

    // Create the file if it does not exist
    if(!file.exists()){
        file.createNewFile();
    }

    // Create the output stream from the File object
    FileOutputStream outputStream = new FileOutputStream(file, false);

    // Setup a Smartsheet object with the necessary access token
    Smartsheet smartsheet = new SmartsheetBuilder().setAccessToken("ACCESS_TOKEN").build();

    // Request the sheet as an excel file from smartsheet
    long sheetId = 8263950702798724L;// SHEET_ID
    smartsheet.sheets().getSheetAsExcel(sheetId, outputStream);

    // Flush and Close the output stream
    outputStream.flush();
    outputStream.close();
}

再次,用适当的值替换SHEET_ID,ACCESS_TOKEN和OUTPUT.XLS。