建立試算表
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
本頁說明如何建立試算表。
範例
如要建立試算表,請使用 spreadsheets 集合的 create 方法,如下列範例所示。
這個範例會建立空白試算表,並指定標題。
使用 Google 雲端硬碟資料夾
使用 Google 試算表 API 時,無法直接在指定的雲端硬碟資料夾中建立試算表。根據預設,建立的試算表會儲存到使用者雲端硬碟的根資料夾。
不過,您有 2 種替代方法可將檔案儲存到雲端硬碟資料夾:
無論選擇哪種替代方案,您都需要新增適當的 Google 雲端硬碟 API 範圍,才能授權呼叫。
如要在共用雲端硬碟資料夾中移動或建立檔案,請參閱「實作共用雲端硬碟支援」。
如要進一步瞭解 Google 試算表的儲存格和列數上限,請參閱「可存放在 Google 雲端硬碟的檔案」一文。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-29 (世界標準時間)。
[null,null,["上次更新時間: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)."]]