Smartsheet コミュニティへようこそ!自己紹介をして、他のメンバーと知り合いましょう。
シートの「列名」と「列の説明」を抽出したい
こんばんは。いつもお世話になっております。
使用しているシートの「列名」と「列の説明」を簡単にエクセルへエクスポートすることはできないでしょうか。
「列名」は「シートのエクスポート」操作で抽出できるのですが、「列の説明」を一つ一つコピペするのが大変です…。
何か良い方法があれば教えてください。
Answers
-
@SS_beginner さん
Smartsheetの基本的な機能のみでの実現方法は思いつきませんでした。
下のコードはSmartsheetのAPIを使って「列の説明」を先頭行に追加して、エクセルとしてダウンロードするものです。コピペとどちらが大変かわかりませんが、Pythonが使えるのであればご参考に。
# download_sheet_as_excel_with_column_description.py
import smartsheet
# Function to retrieve access token from a secure source
def get_access_token():
# Replace with actual method to retrieve the access token securely
return "your_access_token"
# Initialize the Smartsheet client
def initialize_smartsheet_client(access_token):
return smartsheet.Smartsheet(access_token)
# Retrieve columns from the sheet
def get_columns(smartsheet_client, sheet_id):
response = smartsheet_client.Sheets.get_columns(sheet_id, include_all=True)
return response.data
# Create a mapping of column IDs to descriptions
def create_column_description_map(columns):
return {column.id: column.description for column in columns}
# Create a new row with cell values based on column descriptions
def create_new_row(column_description_map):
new_row = smartsheet.models.Row()
new_row.to_top = True
for key, value in column_description_map.items():
if value:
new_row.cells.append({
'column_id': key,
'value': value,
'strict': False
})
return new_row
# Add a new row to the sheet
def add_row_to_sheet(smartsheet_client, sheet_id, new_row):
return smartsheet_client.Sheets.add_rows(sheet_id, [new_row])
# Download the sheet as an Excel file
def download_sheet_as_excel(smartsheet_client, sheet_id, download_directory_path):
smartsheet_client.Sheets.get_sheet_as_excel(sheet_id, download_directory_path)
def main():
access_token = get_access_token()
smartsheet_client = initialize_smartsheet_client(access_token)
# Replace with your actual sheet ID
sheet_id = "your_sheet_id"
# Retrieve columns
columns = get_columns(smartsheet_client, sheet_id)
# Create column description map
column_description_map = create_column_description_map(columns)
# Create a new row and add it to the sheet
new_row = create_new_row(column_description_map)
add_row_to_sheet(smartsheet_client, sheet_id, new_row)
# Replace with your actual download directory path
download_directory_path = "your_download_directory_path"
# Download the sheet as an Excel file
download_sheet_as_excel(smartsheet_client, sheet_id, download_directory_path)
if __name__ == "__main__":
main()
# Note: Ensure you have the Smartsheet Python SDK installed.
# You can install it using pip:
# pip install smartsheet-python-sdkSmartsheet Python SDK をインストール必要があります。
Access Tokenはご自分のトークンを取得する必要があります。
元のシート
ダウンロードしたもの
ヘルプ & ラーニング センター
Categories
- All Categories
- 14 Welcome to the Community
- Smartsheet Customer Resources
- 64.1K Get Help
- 413 Global Discussions
- 221 Industry Talk
- 459 Announcements
- 4.8K Ideas & Feature Requests
- 143 Brandfolder
- 141 Just for fun
- 58 Community Job Board
- 461 Show & Tell
- 31 Member Spotlight
- 1 SmartStories
- 299 Events
- 38 Webinars
- 7.3K Forum Archives