创建电子表格
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
本页介绍了如何创建电子表格。
示例
如需创建电子表格,请对 spreadsheets 集合使用 create 方法,如以下示例所示。
此示例会创建一个具有指定标题的空白电子表格。
处理 Google 云端硬盘文件夹
使用 Google 表格 API 无法直接在指定的云端硬盘文件夹中创建电子表格。默认情况下,创建的电子表格会保存到用户的云端硬盘根文件夹中。
不过,您还可以通过以下 2 种方式将文件保存到云端硬盘文件夹:
无论选择哪种替代方案,您都需要添加相应的 Drive API 范围来授权调用。
如需在共享云端硬盘文件夹中移动或创建文件,请参阅实现共享云端硬盘支持。
如需详细了解 Google 表格中的单元格和行数限制,请参阅可存储在 Google 云端硬盘中的文件。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-29。
[null,null,["最后更新时间 (UTC):2025-08-29。"],[],[],null,["# Create a spreadsheet\n\nThis page describes how to create a spreadsheet.\n\nExample\n-------\n\nTo create a spreadsheet, use the [create](/workspace/sheets/api/reference/rest/v4/spreadsheets/create)\nmethod on the [spreadsheets](/workspace/sheets/api/reference/rest/v4/spreadsheets) collection, as shown in the following example.\n\nThis example creates a blank spreadsheet with a specified title. \n\n### Apps Script\n\nsheets/api/spreadsheet_snippets.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/sheets/api/spreadsheet_snippets.gs) \n\n```javascript\n/**\n * Creates a new sheet using the sheets advanced services\n * @param {string} title the name of the sheet to be created\n * @returns {string} the spreadsheet ID\n */\nSnippets.prototype.create = (title) =\u003e {\n // This code uses the Sheets Advanced Service, but for most use cases\n // the built-in method SpreadsheetApp.create() is more appropriate.\n try {\n let sheet = Sheets.newSpreadsheet();\n sheet.properties = Sheets.newSpreadsheetProperties();\n sheet.properties.title = title;\n const spreadsheet = Sheets.Spreadsheets.create(sheet);\n\n return spreadsheet.spreadsheetId;\n } catch (err) {\n // TODO (developer) - Handle exception\n console.log('Failed with error %s', err.message);\n }\n};\n```\n\n### Java\n\nsheets/snippets/src/main/java/Create.java \n[View on GitHub](https://github.com/googleworkspace/java-samples/blob/main/sheets/snippets/src/main/java/Create.java) \n\n```java\nimport com.google.api.client.http.HttpRequestInitializer;\nimport com.google.api.client.http.javanet.NetHttpTransport;\nimport com.google.api.client.json.gson.GsonFactory;\nimport com.google.api.services.sheets.v4.Sheets;\nimport com.google.api.services.sheets.v4.SheetsScopes;\nimport com.google.api.services.sheets.v4.model.Spreadsheet;\nimport com.google.api.services.sheets.v4.model.SpreadsheetProperties;\nimport com.google.auth.http.HttpCredentialsAdapter;\nimport com.google.auth.oauth2.GoogleCredentials;\nimport java.io.IOException;\nimport java.util.Collections;\n\n/* Class to demonstrate the use of Spreadsheet Create API */\npublic class Create {\n /**\n * Create a new spreadsheet.\n *\n * @param title - the name of the sheet to be created.\n * @return newly created spreadsheet id\n * @throws IOException - if credentials file not found.\n */\n public static String createSpreadsheet(String title) throws IOException {\n /* Load pre-authorized user credentials from the environment.\n TODO(developer) - See https://developers.google.com/identity for\n guides on implementing OAuth2 for your application. */\n GoogleCredentials credentials = GoogleCredentials.getApplicationDefault()\n .createScoped(Collections.singleton(SheetsScopes.SPREADSHEETS));\n HttpRequestInitializer requestInitializer = new HttpCredentialsAdapter(\n credentials);\n\n // Create the sheets API client\n Sheets service = new Sheets.Builder(new NetHttpTransport(),\n GsonFactory.getDefaultInstance(),\n requestInitializer)\n .setApplicationName(\"Sheets samples\")\n .build();\n\n // Create new spreadsheet with a title\n Spreadsheet spreadsheet = new Spreadsheet()\n .setProperties(new SpreadsheetProperties()\n .setTitle(title));\n spreadsheet = service.spreadsheets().create(spreadsheet)\n .setFields(\"spreadsheetId\")\n .execute();\n // Prints the new spreadsheet id\n System.out.println(\"Spreadsheet ID: \" + spreadsheet.getSpreadsheetId());\n return spreadsheet.getSpreadsheetId();\n }\n}\n```\n\n### JavaScript\n\nsheets/snippets/sheets_create.js \n[View on GitHub](https://github.com/googleworkspace/browser-samples/blob/main/sheets/snippets/sheets_create.js) \n\n```javascript\nfunction create(title, callback) {\n try {\n gapi.client.sheets.spreadsheets.create({\n properties: {\n title: title,\n },\n }).then((response) =\u003e {\n if (callback) callback(response);\n console.log('Spreadsheet ID: ' + response.result.spreadsheetId);\n });\n } catch (err) {\n document.getElementById('content').innerText = err.message;\n return;\n }\n}\n```\n\n### Node.js\n\nsheets/snippets/sheets_create.js \n[View on GitHub](https://github.com/googleworkspace/node-samples/blob/main/sheets/snippets/sheets_create.js) \n\n```javascript\n/**\n * Create a google spreadsheet\n * @param {string} title Spreadsheets title\n * @return {string} Created spreadsheets ID\n */\nasync function create(title) {\n const {GoogleAuth} = require('google-auth-library');\n const {google} = require('googleapis');\n\n const auth = new GoogleAuth({\n scopes: 'https://www.googleapis.com/auth/spreadsheets',\n });\n\n const service = google.sheets({version: 'v4', auth});\n const resource = {\n properties: {\n title,\n },\n };\n try {\n const spreadsheet = await service.spreadsheets.create({\n resource,\n fields: 'spreadsheetId',\n });\n console.log(`Spreadsheet ID: ${spreadsheet.data.spreadsheetId}`);\n return spreadsheet.data.spreadsheetId;\n } catch (err) {\n // TODO (developer) - Handle exception\n throw err;\n }\n}\n```\n\n### PHP\n\nsheets/snippets/src/SpreadsheetCreate.php \n[View on GitHub](https://github.com/googleworkspace/php-samples/blob/main/sheets/snippets/src/SpreadsheetCreate.php) \n\n```php\n\u003c?php\nuse Google\\Client;\nuse Google\\Service\\Drive;\nuse Google\\Service\\Sheets\\SpreadSheet;\n\n/**\n* create an empty spreadsheet\n* \n*/\n\n function create($title)\n { \n /* Load pre-authorized user credentials from the environment.\n TODO(developer) - See https://developers.google.com/identity for\n guides on implementing OAuth2 for your application. */\n $client = new Google\\Client();\n $client-\u003euseApplicationDefaultCredentials();\n $client-\u003eaddScope(Google\\Service\\Drive::DRIVE);\n $service = new Google_Service_Sheets($client);\n try{\n\n $spreadsheet = new Google_Service_Sheets_Spreadsheet([\n 'properties' =\u003e [\n 'title' =\u003e $title\n ]\n ]);\n $spreadsheet = $service-\u003espreadsheets-\u003ecreate($spreadsheet, [\n 'fields' =\u003e 'spreadsheetId'\n ]);\n printf(\"Spreadsheet ID: %s\\n\", $spreadsheet-\u003espreadsheetId);\n return $spreadsheet-\u003espreadsheetId;\n }\n catch(Exception $e) {\n // TODO(developer) - handle error appropriately\n echo 'Message: ' .$e-\u003egetMessage();\n }\n }\n```\n\n### Python\n\nsheets/snippets/sheets_create.py \n[View on GitHub](https://github.com/googleworkspace/python-samples/blob/main/sheets/snippets/sheets_create.py) \n\n```python\nimport google.auth\nfrom googleapiclient.discovery import build\nfrom googleapiclient.errors import HttpError\n\n\ndef create(title):\n \"\"\"\n Creates the Sheet the user has access to.\n Load pre-authorized user credentials from the environment.\n TODO(developer) - See https://developers.google.com/identity\n for guides on implementing OAuth2 for the application.\n \"\"\"\n creds, _ = google.auth.default()\n # pylint: disable=maybe-no-member\n try:\n service = build(\"sheets\", \"v4\", credentials=creds)\n spreadsheet = {\"properties\": {\"title\": title}}\n spreadsheet = (\n service.spreadsheets()\n .create(body=spreadsheet, fields=\"spreadsheetId\")\n .execute()\n )\n print(f\"Spreadsheet ID: {(spreadsheet.get('spreadsheetId'))}\")\n return spreadsheet.get(\"spreadsheetId\")\n except HttpError as error:\n print(f\"An error occurred: {error}\")\n return error\n\n\nif __name__ == \"__main__\":\n # Pass: title\n create(\"mysheet1\")\n```\n\n### Ruby\n\nsheets/snippets/lib/spreadsheet_snippets.rb \n[View on GitHub](https://github.com/googleworkspace/ruby-samples/blob/main/sheets/snippets/lib/spreadsheet_snippets.rb) \n\n```ruby\nspreadsheet = {\n properties: {\n title: 'Sales Report'\n }\n}\nspreadsheet = service.create_spreadsheet(spreadsheet,\n fields: 'spreadsheetId')\nputs \"Spreadsheet ID: #{spreadsheet.spreadsheet_id}\"\n```\n\n### Work with Google Drive folders\n\nThere's no option to create a spreadsheet directly within a specified Drive folder using the Sheets API. By default, the created spreadsheet is saved to the user's root folder on Drive.\n\nHowever, there are 2 alternatives to saving a file to a Drive folder:\n\n- After the spreadsheet is created, move it to a specific folder using the [files.update](/drive/api/v3/reference/files/update) method of the Drive API. For more information on moving files, refer to [Move files between folders](/drive/api/guides/folder#move_files_between_folders).\n- Add a blank spreadsheet to a folder using the [files.create](/drive/v3/reference/files/create) method of the Drive API, specifying `application/vnd.google-apps.spreadsheet` as the `mimeType`. For more information on creating files, refer to [Create a file in a folder](/drive/api/guides/folder#create_a_file_in_a_folder).\n\nFor either alternative, you'll need to add the appropriate [Drive\nAPI scopes](/drive/api/v3/reference/files/create#auth) to authorize the call.\n\nTo move or create a file within a shared drive folder, refer to [Implement shared drive support](/drive/api/guides/enable-shareddrives).\n\nTo learn more about cell and row limits in Google Sheets, see [Files you can store in Google Drive](https://support.google.com/drive/answer/37603)."]]