ヘッダーとフッターの設定

ヘッダーとフッタの設定

Aspose.Cells はランタイムでワークシートにヘッダーやフッターを追加することができますが、印刷のために事前に設計されたファイルでヘッダーとフッターを手動で設定することをお勧めします。Microsoft Excel を GUI ツールとして使用して、ヘッダーやフッターを設定して手間と開発時間を節約することができます。Aspose.Cells はそのファイルをインポートして設定を保存することができます。

ヘッダーやフッターをランタイムで追加するために、Aspose.Cells は特別な API 呼び出しとスクリプトコマンドを提供しています。

スクリプトコマンド

スクリプトコマンドは、ヘッダーやフッターのフォーマットを設定する特別なコマンドです。

スクリプトコマンド 説明
&P 現在のページ番号
&G 画像
&N ページの総数
&D 現在の日付
&T 現在の時刻
&A ワークシート名
&F パスを除いたファイル名
&"<FontName>" フォント名を表します。例: &“Arial”
&"<FontName>, <FontStyle>" スタイル付きのフォント名を表します。例: &“Arial,Bold”
&<FontSize> はフォントサイズを表します。例:「&14abc」。ただし、このコマンドに続いてヘッダーに印刷するプレーンな数字がある場合は、フォントサイズとスペース文字で区切られている必要があります。例:「&14 123」。

ヘッダーやフッタの設定

PageSetup クラスは、ワークシートにヘッダーやフッターを追加するために使用される SetHeaderSetFooter という二つのメソッドを提供します。これらのメソッドは2つのパラメーターのみを取ります。

  • Section – ヘッダーやフッターを配置するセクション。左、中央、右の3つのセクションがあり、それぞれ0、1、2で表されます。
  • Script – ヘッダーやフッターのために使用するスクリプト。このスクリプトにはヘッダーやフッターをフォーマットするためのスクリプトコマンドが含まれます。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Instantiating a Workbook object
Workbook excel = new Workbook();
// Obtaining the reference of the PageSetup of the worksheet
PageSetup pageSetup = excel.Worksheets[0].PageSetup;
// Setting worksheet name at the left section of the header
pageSetup.SetHeader(0, "&A");
// Setting current date and current time at the centeral section of the header
// and changing the font of the header
pageSetup.SetHeader(1, "&\"Times New Roman,Bold\"&D-&T");
// Setting current file name at the right section of the header and changing the
// font of the header
pageSetup.SetHeader(2, "&\"Times New Roman,Bold\"&12&F");
// Setting a string at the left section of the footer and changing the font
// of a part of this string ("123")
pageSetup.SetFooter(0, "Hello World! &\"Courier New\"&14 123");
// Setting the current page number at the central section of the footer
pageSetup.SetFooter(1, "&P");
// Setting page count at the right section of footer
pageSetup.SetFooter(2, "&N");
// Save the Workbook.
excel.Save("SetHeadersAndFooters_out.xls");

ヘッダーやフッターに画像を挿入

PageSetup クラスには、ヘッダーやフッターに画像を追加するために使用される SetHeaderPictureSetFooterPicture という追加のメソッドがあります。これらのメソッドは以下のパラメーターを取ります。

  • Section – 画像が配置されるヘッダーやフッターセクション。左、中央、右の3つのセクションがあり、それぞれ0、1、2で表されます。
  • バイト配列 – グラフィカルデータ(バイナリデータはバイト配列のバッファに書き込む必要があります)。

以下のコードを実行し、ファイルを開いた後、ワークシートのヘッダーを確認してください。

  1. ファイル メニューから ページ設定 を選択します。ダイアログが表示されます。
  2. ヘッダー/フッター タブを選択します。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Creating a Workbook object
Workbook workbook = new Workbook();
// Creating a string variable to store the url of the logo/picture
string logo_url = dataDir + "aspose-logo.jpg";
// Declaring a FileStream object
FileStream inFile;
// Declaring a byte array
byte[] binaryData;
// Creating the instance of the FileStream object to open the logo/picture in the stream
inFile = new System.IO.FileStream(logo_url, System.IO.FileMode.Open, System.IO.FileAccess.Read);
// Instantiating the byte array of FileStream object's size
binaryData = new Byte[inFile.Length];
// Reads a block of bytes from the stream and writes data in a given buffer of byte array.
long bytesRead = inFile.Read(binaryData, 0, (int)inFile.Length);
// Creating a PageSetup object to get the page settings of the first worksheet of the workbook
PageSetup pageSetup = workbook.Worksheets[0].PageSetup;
// Setting the logo/picture in the central section of the page header
pageSetup.SetHeaderPicture(1, binaryData);
// Setting the script for the logo/picture
pageSetup.SetHeader(1, "&G");
// Setting the Sheet's name in the right section of the page header with the script
pageSetup.SetHeader(2, "&A");
// Saving the workbook
workbook.Save(dataDir + "InsertImageInHeaderFooter_out.xls");
//Closing the FileStream object
inFile.Close();