我正在尝试使用Smartsheet API将工作表下载为 Excel 文件。我真的很难把正确的代码放在一起来做到这一点。
您能否提供一个使用 Smartsheet API 下载 excel 文件的基本代码示例?
我正在尝试使用Smartsheet API将工作表下载为 Excel 文件。我真的很难把正确的代码放在一起来做到这一点。
您能否提供一个使用 Smartsheet API 下载 excel 文件的基本代码示例?
从工作表创建 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 替换为适当的值。