スプレッドコマンダーのPowerShellスクリプトからのリッチな出力
36096 ワード
免責事項:私はスプレッドコマンダーの著者です
SpreadCommanderは、データ分析のためのツールを備えたオフィスプログラムです.これは、SpreadCommanderの使用方法を説明するSerieの最初の記事です.
SpreadCommanderのコンソールの目標は、PowerShellスクリプトからオフィス文書を構築するのを許容することです.出力は、太字、斜体、下線のテキスト、バック、フォアカラー、スタイル、画像、テーブル、およびその他のさまざまなテキストの書式設定を許可します.スクリプトの出力を使用してOfficeドキュメントを生成できます.
SpreadCommanderでコンソール-いくつかの部分-本(一般的なコンソールから出力)、スプレッドシート(出力テーブル)、データ(出力テーブル)、ヒープ(プロジェクト内の別のファイルを表示).
豊富な出力は、新しいpowershell cmdletsで実装されます.書き込みホストのような標準的なCmdletに加えて、SpreadCommanderは出力をカスタマイズできる新しいCmdletsを提供します.
テキストを書き込みます.文字プロパティや段落スタイルなどの追加パラメータを指定できます.
HTML形式の文字列をコンソールに出力します.これは、HTMLタグの大きなサブセットをサポートしていますが、それはWebブラウザではなく、非常に複雑なHTMLを出力することはできません.
マークダウン形式のテキストをコンソールに出力します.
LaTeX形式のテキストをイメージに変換し、コンソールに出力します.
強調表示された構文でテキストを出力します.
エラーとしてフォーマットされたテキストを出力します.を使用して、非終端エラーを出力できます.SpreadCommander ErrorActionPreferencesを停止し、CMDRELETにスローされたエラーを終了するように設定します.したがって、Cmdlet Write ErrorMessageはエラー/警告メッセージを出力することを推奨します.
イメージをコンソールに出力します.
@ pathはプロジェクトのルートパスです.
既存のファイルの内容を本に出力します.MS Word、RTF、TXT、HTML、マークダウン(. md、. markdown、. mdown)ファイル.
リストの内容やデータを出力する.内部のリストは、スプレッドシートにエクスポートされ、フォーマットされ、その後本にコピーされます.スプレッドシートへの出力も可能です将来の記事でdemostratedされます.
既存のスプレッドシートテーブルを出力します.PowerShellからスプレッドシートを作成するには、将来の記事の一つです.
グラフを生成し、出力します.スプレッドコマンダーは、複数のグラフの種類をサポートしています-バー、ライン、スプライン、パイ、ファンネル、エリア、レンジエリア、ガント、ポーラー、レーダー、および他の多く.
Geoマップを生成して出力します.
本をファイルに保存します.
SpreadCommanderは、データ分析のためのツールを備えたオフィスプログラムです.これは、SpreadCommanderの使用方法を説明するSerieの最初の記事です.
SpreadCommanderのコンソールの目標は、PowerShellスクリプトからオフィス文書を構築するのを許容することです.出力は、太字、斜体、下線のテキスト、バック、フォアカラー、スタイル、画像、テーブル、およびその他のさまざまなテキストの書式設定を許可します.スクリプトの出力を使用してOfficeドキュメントを生成できます.
SpreadCommanderでコンソール-いくつかの部分-本(一般的なコンソールから出力)、スプレッドシート(出力テーブル)、データ(出力テーブル)、ヒープ(プロジェクト内の別のファイルを表示).
豊富な出力は、新しいpowershell cmdletsで実装されます.書き込みホストのような標準的なCmdletに加えて、SpreadCommanderは出力をカスタマイズできる新しいCmdletsを提供します.
テキストを書く
テキストを書き込みます.文字プロパティや段落スタイルなどの追加パラメータを指定できます.
Add-BookParagraphStyle 'Header1' -FontName:'Segoe UI' -FontSize:24 -Bold `
-Alignment:Center -OutlineLevel:1 -SpacingBefore:120 `
-SpacingAfter:120 -Replace;
Add-BookParagraphStyle 'Text' -FontName:'Times New Roman' -FontSize:12 -Alignment:Justify -SpacingBefore:20 -SpacingAfter:20 -Replace;
Write-Text -ParagraphStyle:'Header1' 'Introduction to Spread Commander';
Write-Text -ParagraphStyle:'Text' 'Hello, Spread Commander!';
HTMLを書く
HTML形式の文字列をコンソールに出力します.これは、HTMLタグの大きなサブセットをサポートしていますが、それはWebブラウザではなく、非常に複雑なHTMLを出力することはできません.
Write-Html -ParagraphStyle:'Text' @'
<p align=justify><b>SpreadCommander</b> allows to output
<i>HTML-formatted text</i>.</p>
'@;
マークダウン
マークダウン形式のテキストをコンソールに出力します.
Write-Markdown -ParagraphStyle:'Text' @'
*HTML-formatted text* can be encoded in **Markdown** style.
'@;
書き書きする
LaTeX形式のテキストをイメージに変換し、コンソールに出力します.
Write-Latex @(
'B''=-\nabla \times E',
'E''=\nabla \times B - 4\pi j',
'e^{ix} = \cos{x} + i \sin{x}');
構文を書き込む
強調表示された構文でテキストを出力します.
Write-SyntaxText -Syntax:'PowerShell' "Write-Host 'Hello, Wolrd!'"
エラーメッセージを書き込む
エラーとしてフォーマットされたテキストを出力します.を使用して、非終端エラーを出力できます.SpreadCommander ErrorActionPreferencesを停止し、CMDRELETにスローされたエラーを終了するように設定します.したがって、Cmdlet Write ErrorMessageはエラー/警告メッセージを出力することを推奨します.
Write-ErrorMessage 'Error happened.';
画像を書き込む
イメージをコンソールに出力します.
Write-Image '~\Images\flag-Olympic-Games.jpg' -ScaleX:0.4 -ScaleY:0.4;
@ pathはプロジェクトのルートパスです.
コンテンツを書き込む
既存のファイルの内容を本に出力します.MS Word、RTF、TXT、HTML、マークダウン(. md、. markdown、. mdown)ファイル.
データを書き込む
リストの内容やデータを出力する.内部のリストは、スプレッドシートにエクスポートされ、フォーマットされ、その後本にコピーされます.スプレッドシートへの出力も可能です将来の記事でdemostratedされます.
$olympic_medals = @(
[PSCustomObject]@{'Country' = 'USA'; 'Gold' = 39; 'Silver' = 41; 'Bronze' = 33; 'Total' = 113};
[PSCustomObject]@{'Country' = 'China'; 'Gold' = 38; 'Silver' = 32; 'Bronze' = 18; 'Total' = 88};
[PSCustomObject]@{'Country' = 'Japan'; 'Gold' = 27; 'Silver' = 14; 'Bronze' = 17; 'Total' = 58};
[PSCustomObject]@{'Country' = 'Britain'; 'Gold' = 22; 'Silver' = 21; 'Bronze' = 22; 'Total' = 65};
[PSCustomObject]@{'Country' = 'ROC'; 'Gold' = 20; 'Silver' = 28; 'Bronze' = 23; 'Total' = 71};
[PSCustomObject]@{'Country' = 'Australia'; 'Gold' = 17; 'Silver' = 7; 'Bronze' = 22; 'Total' = 46};
[PSCustomObject]@{'Country' = 'Netherlands'; 'Gold' = 10; 'Silver' = 12; 'Bronze' = 14; 'Total' = 36};
[PSCustomObject]@{'Country' = 'France'; 'Gold' = 10; 'Silver' = 12; 'Bronze' = 11; 'Total' = 33};
[PSCustomObject]@{'Country' = 'Germany'; 'Gold' = 10; 'Silver' = 11; 'Bronze' = 16; 'Total' = 37};
[PSCustomObject]@{'Country' = 'Italy'; 'Gold' = 10; 'Silver' = 10; 'Bronze' = 20; 'Total' = 40}
);
$olympic_medals |
Write-DataTable -TableStyle:Medium20 -Formatting:"format column 'Gold' with ColorScale='Blue,Red', ForeColor='White'";
スプレッドテーブルを書く
既存のスプレッドシートテーブルを出力します.PowerShellからスプレッドシートを作成するには、将来の記事の一つです.
書き込みチャート
グラフを生成し、出力します.スプレッドコマンダーは、複数のグラフの種類をサポートしています-バー、ライン、スプライン、パイ、ファンネル、エリア、レンジエリア、ガント、ポーラー、レーダー、および他の多く.
$olympic_medals |
New-Chart Bar 'Country' @('Gold', 'Silver', 'Bronze') |
Add-ChartTitle 'Olympic Medals' -Font:'Tahoma,18,Italic' |
Set-ChartLegend -ShadowColor:Gray -AlignmentHorizontal:Center `
-AlignmentVertical:BottomOutside -Direction:LeftToRight |
Write-Chart -Width:2000 -Height:1600;
地図を書く
Geoマップを生成して出力します.
$tokyo = [PSCustomObject] @{ Latitude = 35.6895; Longitude = 139.6917; Name = 'Tokyo' };
$beijing = [PSCustomObject] @{ Latitude = 39.904; Longitude = 116.4075; Name = 'Beijing' };
$paris = [PSCustomObject] @{ Latitude = 48.8566; Longitude = 2.3522; Name = 'Paris' };
$milan = [PSCustomObject] @{ Latitude = 45.4669; Longitude = 9.19; Name = 'Milan' };
$losAngeles = [PSCustomObject] @{ Latitude = 34.05; Longitude = -118.25; Name = 'Los-Angeles' };
$brisbane = [PSCustomObject] @{ Latitude = -27.4677; Longitude = 153.028; Name = 'Brisbane' };
New-Map -BackColor:White |
Add-MapLayerImage Bing Road |
Add-MapLayerVectorItems |
Add-MapItem Pushpin @($tokyo.Latitude, $tokyo.Longitude) $tokyo.Name |
Add-MapItem Pushpin @($beijing.Latitude, $beijing.Longitude) $beijing.Name |
Add-MapItem Pushpin @($paris.Latitude, $paris.Longitude) $paris.Name |
Add-MapItem Pushpin @($milan.Latitude, $milan.Longitude) $milan.Name |
Add-MapItem Pushpin @($losAngeles.Latitude, $losAngeles.Longitude) $losAngeles.Name |
Add-MapItem Pushpin @($brisbane.Latitude, $brisbane.Longitude) $brisbane.Name |
Add-MapItem Line @($tokyo.Latitude, $tokyo.Longitude) @($beijing.Latitude, $beijing.Longitude) -StrokeColor:Gold -StrokeWidth:5 -Geodesic |
Add-MapItem Line @($beijing.Latitude, $beijing.Longitude) @($paris.Latitude, $paris.Longitude) -StrokeColor:Gold -StrokeWidth:5 -Geodesic |
Add-MapItem Line @($paris.Latitude, $paris.Longitude) @($milan.Latitude, $milan.Longitude) -StrokeColor:Gold -StrokeWidth:5 -Geodesic |
Add-MapItem Line @($milan.Latitude, $milan.Longitude) @($losAngeles.Latitude, $losAngeles.Longitude) -StrokeColor:Gold -StrokeWidth:5 -Geodesic |
Add-MapItem Line @($losAngeles.Latitude, $losAngeles.Longitude) @($brisbane.Latitude, $brisbane.Longitude) -StrokeColor:Gold -StrokeWidth:5 -Geodesic |
Write-Map -CenterPoint:@(0.0, 0.0) -Width:2000 -Height:1600 -ZoomLevel:1;
ブックを節約
本をファイルに保存します.
Save-Book '~\Output\Book.docx';
スプレッドシート、チャート、マップへの出力、SQLを使用して将来の記事でレビューされます.Reference
この問題について(スプレッドコマンダーのPowerShellスクリプトからのリッチな出力), 我々は、より多くの情報をここで見つけました https://dev.to/vvv/rich-output-from-powershell-scripts-in-spreadcommander-49phテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol