当前位置: 首页 > 知识库问答 >
问题:

如何以编程方式创建包含内容的Google Docs电子表格?

松英喆
2023-03-14

我发现了多个StackOverflow问题,涉及如何使用Google spreadsheets API或更旧的API创建或编辑Google Doc电子表格。然而,这个电子表格API似乎是“GData”库的一部分,据我所知,这是不推荐的。

较新的StackOverflow答案显示了如何使用Drive API创建空的电子表格,该API似乎更流行。但是,从该API的文档和示例来看,它似乎只允许您使用电子表格MIME类型创建新的空文件。我没有找到任何功能来创建一个包含实际内容(即行、列、工作表等)的电子表格。

创建一个新的Google Doc电子表格并用内容填充它的当前流程是什么?驱动器API是否有我不理解的功能?“GData”库(或者至少是它的电子表格API部分)不是完全不推荐吗?有没有第三种方法我完全错过了?尽管我确信任何Python API都有Java的等价物,但我在使用Java代码。

共有1个答案

姜良哲
2023-03-14

参考新的电子表格API v4

我有一个最好又简单的方法:

2.

使用API创建一个新的电子表格。

代码

 private class MakeRequestTask extends AsyncTask<Void, Void, Void> {
    private com.google.api.services.sheets.v4.Sheets mService = null;

    // The constructor
    MakeRequestTask(GoogleAccountCredential credential) {
        HttpTransport transport = AndroidHttp.newCompatibleTransport();
        JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
        mService = new com.google.api.services.sheets.v4.Sheets.Builder(
                transport, jsonFactory, credential)
                .setApplicationName("Android spreadsheet client")
                .build();
    }                    

    protected void doInBackground(Void... params) {

        // function to create the spreadsheet
        creadSpreadSheet();
    }

    // creates a new spreadsheet
    private void creadSpreadSheet() throws IOException{
        com.google.api.services.sheets.v4.model.Spreadsheet mSpreadsheet, newSpreadSheet;
        mSpreadsheet = new Spreadsheet();
        SpreadsheetProperties spreadsheetProperties = new SpreadsheetProperties();
        spreadsheetProperties.setTitle("Demo SpreadSheet");// name of your spreadsheet
        mSpreadsheet = mSpreadsheet.setProperties(spreadsheetProperties);


        newSpreadSheet = mService.spreadsheets()
                .create(mSpreadsheet)
                .execute();

        // this 'newSpreadsheet' is ready to use for write/read operation.
    }

注意:不要忘记将“sheetsscopes.spreadsheets”作用域放在onCreate()中的“credential”中。

String[] SCOPES = { SheetsScopes.SPREADSHEETS};
    credential = GoogleAccountCredential.usingOAuth2(
            getApplicationContext(), Arrays.asList(SCOPES))
            .setBackOff(new ExponentialBackOff());
 类似资料:
  • 我正尝试使用以下命令以编程方式创建:

  • 问题内容: 我正在尝试以编程方式在Java中创建新的密钥库。如下代码: 引发未初始化的KeyStore异常。 问题答案: 创建密钥库后,需要将其加载。load方法要求读取FileInputStream,但是如果您提供一个null,则将加载一个空的KeyStore。 看到这个链接

  • 问题内容: 是否有免费的库可根据图像序列创建MPEG(或任何其他简单的视频格式)? 它也必须在Linux上运行,并且最好具有Python绑定。 问题答案: 我知道有一个mencoder(是mplayer项目的一部分)和ffmpeg,它们都可以做到这一点。

  • 我有一个充满自定义视图的应用程序。当我尝试以编程方式创建FAB时,它会抛出一个错误 原因:java.lang.IllegalArgumentException:您需要在设计库中使用theme.AppCompat主题(或后代)。

  • 问题内容: 我有一个基于电子表格的自动报告,需要每天创建,其中包含一些图表,汇总功能(例如SUM和AVERAGE)和格式化的单元格(日期,百分比等)。 我试图将这些结果直接写到Excel文件中,但是Python的xlwt和xlrd不支持图表和函数。 此外,尝试打开现有的格式化Excel文件并更改某些单元格的值最终导致擦除了现有文件中的所有图表和功能。 是否可以将图表和功能写入OpenOffice电

  • 我有最困难的时间在WooCommerce中以编程方式创建订单。我使用下面的代码,是创建订单,但我无法获得客户信息或产品线项目添加到订单。创建的新订单只是作为来宾,没有项目、用户信息等。 问题似乎是,一旦订单对象被创建,当尝试向订单添加数据时,它将失败。 以下是我在日志中遇到的错误: 在此方面的任何帮助都将不胜感激!