Excel Online の管理設定を行う
概要:Excel Online でレンダリングされる Excel ブック用の管理設定を構成します。
Excel Online のカスタマイズに使用できる設定がいくつかあります。 これらの設定は、Office Online Server ファームのリソース配分の調整や、組織のガバナンス ポリシーを施行する際に役立ちます。
Office Online Serverでは、これらの設定のほとんどは、New-OfficeWebAppsFarm のパラメーターとして使用でき、Microsoft PowerShell コマンドレット Set-OfficeWebAppsFarm、SQL Server Analysis Services (SSAS) サーバーへのアクセスを構成する追加のコマンドレット (OfficeWebAppsExcelBIServer) があります。 (これは、SharePoint Server 2013 のExcel Servicesで使用できる設定のサブセットであることに注意してください)。
次のことを実行できます。
データの更新が失敗した場合に、ブックが読み込まれないようにします。
既定では、誰かがファイルを開いたときにデータの自動更新操作が失敗した場合、Excel Online は Excel ファイルを読み込みません。 これにより、ユーザーに対して古い情報またはアクセス権がない情報が表示されないようにできます。
次の条件でのみ、読み込みに失敗します。
ユーザーが SharePoint Server 内のファイルに対して読み取り専用権限を持っている場合。
他のユーザーがブックを開いたときに自動更新されるブックのファイル内でデータ接続があった場合。
構文:Set-OfficeWebAppsFarm -ExcelAbortOnRefreshOnOpenFail
既定値: True
例:
Set-OfficeWebAppsFarm -ExcelAbortOnRefreshOnOpenFail:$false
Excel Online の揮発性関数のキャッシュ時間の設定
揮発性関数の計算値が自動計算のためにキャッシュされる最大時間を秒単位で指定できます。 有効な値は次のとおりです。
-1: ブックの読み込み時に計算を 1 回実行します。
0: 常に計算を実行します。
1 から 2,073,600: 1 秒から 24 日の間、キャッシュします。
値は -1 から 2,073,600 の範囲内の整数である必要があります。
構文:Set-OfficeWebAppsFarm -ExcelAutomaticVolativeFunctionCacheLifetime
既定値: 300
例:
Set-OfficeWebAppsFarm -ExcelAutomaticVolativeFunctionCacheLifetime:500
セッションごとの Excel Online のデータ要求の数を設定
1 つのセッションで同時に許容される外部データ要求の最大数を指定できます。 1 つのセッションでこれよりも多くの要求を発行する必要がある場合は、超過分の要求はキューに格納されます。 この設定の範囲は、論理サーバーです。 値は正の整数である必要があります。
構文:Set-OfficeWebAppsFarm -ExcelConcurrentDataRequestsPerSessionMax
既定値: 5
例:
Set-OfficeWebAppsFarm -ExcelConcurrentDataRequestsPerSessionMax:10
Excel Online ブック計算モードの設定
Excel Online でレンダリングされるブックの計算モードを指定できます。 使用可能な値は、 File、 Manual、 Auto、 AutoDataTables (データ テーブルを除く自動) です。 File 以外のすべての設定は、ブックの設定を上書きします。
構文:Set-OfficeWebAppsFarm -ExcelDefaultWorkbookCalcMode
既定値:File
例:
Set-OfficeWebAppsFarm -ExcelDefaultWorkbookCalcMode:Auto
Excel Online 画像の最大サイズの設定
Excel Online で開くことができるグラフまたは画像の最大サイズを MB 単位で指定できます。 値は 0 より大きい整数である必要があります。
構文:Set-OfficeWebAppsFarm -ExcelChartAndImagesSizeMax
既定値: 1
例:
Set-OfficeWebAppsFarm -ExcelChartAndImagesSizeMax:5
Excel Online 用の Analysis Services (データ モデル) サーバーの構成
以下の OfficeWebAppsExcelBIServer コマンドレットを使って Analysis Services のサーバーで Excel Online が動作するように構成することができます。
New-OfficeWebAppsExcelBIServer で Analysis Services サーバーの場所を Excel 用の許可一覧に追加できます。 Office Online Server での高度な BI 機能用の計算サービス
Get OfficeWebAppsExcelBIServer 許可一覧内のAnalysis Services サーバーを取得します。
Remove-OfficeWebAppsExcelBIServer 許可一覧からサーバーを削除します。
この機能を使用するには、Office Online Server ファーム内の各コンピューターを Analysis Services 管理者として構成する必要もあります。
New および Remove のコマンドレットは、追加または削除する Analysis Services サーバーの名前を示す -ServerID のパラメーターを受け取ります。
例:
New-OfficeWebAppsExcelBIServer -ServerID "SSAS01"
Remove-OfficeWebAppsExcelBIServer -ServerID "SSAS01"
OfficeWebAppsExcelBIServer コマンドレットでは、 共通パラメーターもサポートされています。
Excel Online で Analysis Services の EffectiveUserName の構成
EffectiveUserName は、レポートにアクセスしているユーザーの名前を含む SQL Server Analysis Services の接続文字列プロパティです。 Office Online Serverでは、このプロパティを Excel Online と組み合わせて使用し、レポートを表示しているユーザーの ID を Analysis Services に渡すことができます。 これにより、Kerberos 制約付き委任を構成しなくてもユーザー単位の ID が可能になります。
このオプションを有効にするには、SQL Server Management Studio の SQL Server 2016 バージョンを使用する必要があります。 実際のデータ ソースは Analysis Services の以前のバージョンでも使用可能です。
このオプションを構成するのには、次の操作をする必要があります。
Analysis Services 管理者 として Office Online Server ファームの各コンピューターを構成します。
Excel Online で EffectiveUserName を有効にするには PowerShell を使用します(下記参照)。
Set-OfficeWebAppsFarm は Excel Online でEffectiveUserName の有効/無効を切り替えるのに使います。
Excel Online で EffectiveUserName を有効にするには、次のコマンドを実行します。
Set-OfficeWebAppsFarm -ExcelUseEffectiveUserName:$True
Excel Online で EffectiveUserName を無効にするには、次のコマンドを実行します。
Set-OfficeWebAppsFarm -ExcelUseEffectiveUserName:$False
大規模なブックの操作
Excel Online でブックを開くと、Excel Online がタイムアウトしてブックの読み込みに失敗するまでに 1 分の時間制限があります。 場合によっては、この時間制限は、大規模なブックを読み込むには不十分な場合があります。 大規模なブックの読み込みに関して問題が発生した場合は、タイムアウト値を調整できます。
タイムアウト値を変更するには、Office Online Serverを実行している各コンピューターの settings.xml ファイルを更新する必要があります。 (このファイルは通常、C:\ProgramData\Microsoft\OfficeWebApps\Data\FarmState\settings.xml にあります。
settings.xml ファイルに次の値を追加します。 TimeoutValue はタイムアウト値 (ミリ秒単位) です。
<Setting Name="FBDirectReadTimeoutInMilliseconds" DataType="System.Int32">
<StringValue>TimeoutValue</StringValue>
</Setting>
タイムアウト値を 0 にすると、タイムアウトが無期限になりますのでご注意ください。 これはサービス拒否攻撃のリスクが高まるため、お勧めできません。