シートの「列名」と「列の説明」を抽出したい

こんばんは。いつもお世話になっております。

使用しているシートの「列名」と「列の説明」を簡単にエクセルへエクスポートすることはできないでしょうか。

「列名」は「シートのエクスポート」操作で抽出できるのですが、「列の説明」を一つ一つコピペするのが大変です…。

何か良い方法があれば教えてください。

Tags:

Answers

  • jmyzk_cloudsmart_jp
    jmyzk_cloudsmart_jp ✭✭✭✭✭✭

    @SS_beginner さん

    Smartsheetの基本的な機能のみでの実現方法は思いつきませんでした。

    下のコードはSmartsheetのAPIを使って「列の説明」を先頭行に追加して、エクセルとしてダウンロードするものです。コピペとどちらが大変かわかりませんが、Pythonが使えるのであればご参考に。

    https://gist.github.com/jmyzk/235ab8e27015126df485d989bd59ce59

    # 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-sdk

    Smartsheet Python SDK をインストール必要があります。

    https://pypi.org/project/smartsheet-python-sdk/

    Access Tokenはご自分のトークンを取得する必要があります。

    元のシート

    ダウンロードしたもの

ヘルプ & ラーニング センター