概要
Microsoft SharePoint上にあるExcelファイル(.xlsx)へデータを転送する設定のDocsです。
指定したシートに対してのみ書き込むため、ファイル全体が置き換わることはありません。
接続に関する設定については、接続情報 - Microsoft SharePointを参照ください。
転送先で利用できるのは、接続情報のアクセス許可に読み取りと書き込み (転送先) も使用するを選択した接続情報のみです。
利用上の注意・制約
- ファイルの新規作成はできません。書き込み先のExcelファイルは、あらかじめSharePoint上に用意してください。
- 書き込み先に指定できるのは.xlsx形式のExcelファイルのみです。
- SharePointのリストには書き込めません。
- 個人用のOneDriveには書き込めません。SharePointサイトのドキュメントライブラリ、またはOneDrive for Businessをご利用ください。
- 1シートあたりの行数は、Excelの仕様上の上限である1,048,576行までです。
設定項目
Excelのテーブルは、セルの範囲を1つのまとまりとして管理するための機能です。
挿入タブ > テーブル、またはホームタブ > テーブルとして書式設定から作成できます。
詳しくは、Microsoft サポート - Excel のテーブルの概要を参照ください。
STEP1 基本設定
| 項目名 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
| Microsoft SharePoint接続情報 | ✓ | - | あらかじめ登録してあるMicrosoft SharePointの接続情報から選択します。 |
| ファイルのURL | ✓ | - | 書き込み先のExcelファイルのURLを入力します。 入力できるURLについて、詳しくはファイルのURLについてを参照ください。 |
| シート名 | ✓ | - | 書き込み先のシート名を入力します。 入力したシートが存在しない場合、自動的に作成されます。 |
| テーブル設定 | ✓ | テーブルを使用しない | Excelのテーブルに対して書き込むかどうかを選択します。
|
| テーブル名 | ✓ | - | テーブル設定でテーブルを使用するを選択した場合に入力します。書き込み先のテーブル名を入力します。 入力したテーブルが存在しない場合、自動的に作成されます。テーブル名は以下から確認できます。
|
| 転送モード | ✓ | 追記 | 転送モードを選択します。 詳しくは、転送モードについてを参照ください。 |
ファイルのURLについて
SharePointおよびOneDrive for Businessの画面からコピーしたURLを、そのまま貼り付けて指定できます。
日本語やスペースを含むパスでも、URLエンコード・デコードする必要はありません。
以下の3種類のURLに対応しています。
| コピー方法 | URLの形式 |
|---|---|
| ファイル上で右クリック > 詳細 > パス | https://<tenant>.sharepoint.com/sites/<site>/Shared Documents/<file>.xlsx |
| ファイル上で右クリック > リンクのコピー | https://<tenant>.sharepoint.com/:x:/r/sites/<site>/Shared%20Documents/<file>.xlsx?d=... |
| ブラウザーでファイルを開いたときのURL | https://<tenant>.sharepoint.com/:x:/r/sites/<site>/_layouts/15/Doc.aspx?sourcedoc=... |
SharePoint上でExcelファイルを新規作成した直後にブラウザーのアドレスバーに表示されているURLは指定できません。
ブラウザーでファイルを再度読み込むか、リンクのコピーで取得したURLを指定してください。
転送モードについて
| 転送モード | 詳細 |
|---|---|
| 追記 | 既存データの最終行の次の行から、データを追加します。 |
| テーブル/範囲洗い替え (ヘッダー引き継ぎ) | 既存のヘッダーやテーブルを残したまま転送します。
|
| テーブル/範囲洗い替え (ヘッダー作り直し) | 既存のヘッダーやテーブルを削除して作成し直します。
|
| シート洗い替え (シート引き継ぎ) | シートを残したまま、シート上のデータをすべて削除して書き込みます。 |
| シート洗い替え (シート作り直し) | シートを削除したうえで、シートを作り直します。 |
書き込み先の既存の書式が維持されるのは、追記とテーブル/範囲洗い替え (ヘッダー引き継ぎ) の場合です。
それ以外の転送モードでは、既存の書式は失われます。
シート洗い替え (シート作り直し) ではシートを削除して作り直すため、他のシートから='シート名'!A1の形式で参照しているセルが#REF!になります。
他のシートから参照している場合は、=INDIRECT("'シート名'!A1")の形式で参照することを推奨します。
転送データとヘッダーとの照合について
追記およびテーブル/範囲洗い替え (ヘッダー引き継ぎ) では、書き込み先の既存のヘッダーと、転送するデータのカラムを照合します。
データがずれて書き込まれることを防ぐためです。
以下によるヘッダーと転送データのズレを検知した場合は、転送ジョブはエラーになります。
- 列の削除
- 列名の変更
- 列の入れ替え
- 末尾以外への列の追加
- 前方(先頭から途中まで)の列の省略
エラーが発生した場合は、まず転送元のスキーマが意図せず変わっていないかを確認してください。
意図した変更である場合は、以下のいずれかで対応します。
- Excel側のヘッダーを転送するデータに合わせて修正する
- 転送モードをテーブル/範囲洗い替え (ヘッダー作り直し)またはシート洗い替えに変更する
以下の操作によるヘッダーと転送データのカラム差分が生じている場合では、転送ジョブはエラーにはなりません。
- 末尾への列の追加
- 後方(途中から末尾まで)の列の省略
STEP1 詳細設定
| 項目名 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
| 日時フォーマット | ✓ | %Y/%m/%d %H:%M:%S.%3N |
timestamp型のカラムを文字列に変換する際のフォーマットを入力します。 |
| タイムゾーン | ✓ | ユーザー設定のタイムゾーン | timestamp型のカラムをどのタイムゾーンで出力するかを選択します。 |
| セルの書式設定 | ✓ | 自動判定させる | 書き込む値をExcelに解釈させるかどうかを選択します。 詳しくは、セルの書式設定についてを参照ください。 |
| ヘッダー開始列 | ✓ | A |
ヘッダーを書き込む列をアルファベットで入力します。 |
| ヘッダー開始行 | ✓ | 1 |
ヘッダーを書き込む行を数値で入力します。 |
| 並べ替え | - | - | カラム名と順序(昇順・降順)を指定して、レコードを並べ替えて書き込めます。 カラム名が転送設定STEP2カラム定義のカラム名と一致しない場合は、設定が無視されます。 |
| カラム設定 | - | - | カラム単位で、日時フォーマット・タイムゾーン・セルの書式設定を上書きできます。 カラム設定で日時フォーマット・タイムゾーン・セルの書式設定を指定した場合、そのカラムには詳細設定の設定ではなくカラム設定の値が適用されます。 カラム名が転送設定STEP2カラム定義のカラム名と一致しない場合は、設定が無視されます。 |
セルの書式設定について
Excelでは、書き込んだ値が自動的に解釈される場合があります。
たとえば0123は数値の123に、2024-01-01は日付型になります。
セルの書式設定では、この自動的な解釈をさせるかどうかを選択します。
転送設定STEP2カラム定義のデータ型ごとの挙動は、以下のとおりです。
| データ型 | 自動判定させる | 自動判定させない | すべて文字列にする |
|---|---|---|---|
boolean / long / double |
そのまま書き込みます。 | そのまま書き込みます。 | 文字列に変換し、先頭に'を付けます。 |
string |
そのまま書き込みます。 | 先頭に'を付けます。 |
先頭に'を付けます。 |
timestamp |
日時フォーマットで文字列に変換します。 | 変換後、先頭に'を付けます。 |
変換後、先頭に'を付けます。 |
json |
JSON形式の文字列に変換します。 | 変換後、先頭に'を付けます。 |
変換後、先頭に'を付けます。 |
先頭に付与された'は、Excelの画面上では表示されません。値は文字列として扱われます。
ジョブがエラーになる場合
書き込み先のシートやテーブルの状態によっては、転送ジョブがエラーになります。
シートが保護されている
シート洗い替え (シート作り直し) 以外の転送モードでは、転送ジョブがエラーになります。
シートの保護を解除してから転送してください。
なお、シート洗い替え (シート作り直し) では転送できますが、シートを作り直すため保護の設定は失われます。
テーブルがフィルターで絞り込まれている
テーブル/範囲洗い替え (ヘッダー引き継ぎ) では、転送ジョブがエラーになります。
絞り込みを解除してから転送するか、テーブル/範囲洗い替え (ヘッダー作り直し) を利用してください。
ただし、ヘッダーを作り直す場合はフィルターの設定も失われます。
追記では絞り込みは維持されます。ただし、追記されたデータには絞り込みが適用されません。
書き込み先のシートでは絞り込みを行わない運用を推奨します。
同じ名前のテーブルが別シートに存在する
指定したテーブル名と同じ名前のテーブルが別のシートに存在する場合、転送ジョブがエラーになります。
テーブル名を変更してください。
テーブルの範囲にヘッダー開始位置を設定している
既存テーブルの範囲にヘッダー開始位置を指定した場合、転送ジョブがエラーになります。