我正在尝试使用Smartsheet API将工作表下载为Excel文件。我真的很难把正确的代码放在一起来做到这一点。
您能否提供一个使用Smartsheet API下载excel文件的基本代码示例?
答案 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。
ACCESS_TOKEN :是一个可通过智能表界面检索的令牌,点击“帐户”选择“个人设置”,然后点击“API访问”。然后单击“生成新访问令牌”按钮以创建新令牌。
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。