2

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

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

4

1 回答 1

4

从工作表创建 excel 文件的文档在此处。它给出了一个使用curl的例子。安装 curl 后,可以使用以下命令,将粗体字段替换为适当的值:

curl https://api.smartsheet.com/1.1/sheet/ SHEET_ID -H "授权:Bearer ACCESS_TOKEN " -H "接受:application/vnd.ms-excel" -o OUTPUT.XLS

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

在此处输入图像描述

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

在此处输入图像描述

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


我还想指出,使用 Smartsheet 的Java SDK可以完成相同的步骤。安装 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 替换为适当的值。

于 2014-02-21T19:29:42.007 回答