You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Java调用Google API下载GoogleSheet等谷歌工作区文档找不到本地文件咨询

问题1解答

你现在的代码用的是ByteArrayOutputStream,这个输出流是把导出的Excel数据全部存在程序运行的内存缓冲区里,根本没有写入本地磁盘,程序运行结束后内存就会释放,所以你在电脑里找不到任何导出的文件。

问题2解答

需要提前指定本地保存路径。Google Drive API的executeMediaAndDownloadTo方法只负责把下载的数据流写入你传入的输出流对象,不会自动帮你做本地文件持久化,你需要自行指定存储路径,把流写入到磁盘文件中。

修正后的代码示例

public void downloadFileFromDrive() throws Exception {
    String fileId = "1KVNuObZ4ACxKuOFTjf-SKkIgsDAr4L0x5hJzDz_uzhU";
    // 替换为你本地的实际保存路径,Windows路径格式示例:"C:\\Users\\xxx\\Downloads\\导出表格.xlsx"
    String savePath = "/home/xxx/Downloads/导出的GoogleSheet.xlsx";
    // 使用文件输出流直接把数据写入本地磁盘
    try (OutputStream outputStream = new FileOutputStream(savePath)) {
        serviceDrive().files().export(fileId, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
                .executeMediaAndDownloadTo(outputStream);
    }
}

注意事项

如果指定的保存路径的上层文件夹不存在,需要提前创建对应文件夹,否则会抛出FileNotFoundException异常。


内容的提问来源于stack exchange,提问作者LDT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 03:06:03