チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»xlsnetheaderandfooter

Displaying items by tag: xlsnetheaderandfooter

Excel ファイルでは、ヘッダーとフッターを使用して、ワークシートページの上部と下部にリッチなコンテンツを配置できます。このコンテンツには、ロゴ、会社名、ページ番号、日付、時刻などを含めることができます。この記事では、Spire.XLS for .NET を使用して、Excel のヘッダーやフッターにテキスト、画像、およびフィールド(ページ番号など)を追加する方法を紹介します。

Spire.XLS for .NET では、PageSetup クラスを使用して、Excel のページ設定(ヘッダーやフッターを含む)を操作できます。具体的には、ヘッダーやフッターの左、中央、右のセクションを表す LeftHeader プロパティ、CenterHeader プロパティ、RightHeader プロパティ、LeftFooter プロパティなどが用意されています。ヘッダーやフッターにフィールドを追加したり、テキストに書式を適用したりするには、以下の表に示すスクリプトを使用する必要があります。

スクリプト 説明
&P 現在のページ番号です
&N 総ページ数です
&D 現在の日付です
&T 現在の時刻です
&G 画像です
&A ワークシートの名です
&F ファイルの名です
&B テキストを太字にする
&I テキストを斜体にする
&U テキストに下線を引く
&"フォント名" フォントの名を表す。例えば、&"Arial"
& + 整数 フォントサイズを表す。例えば、&12
&K + 16進カラーコード フォントの色を表す。例えば、&FF0000

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

Excel のヘッダーに画像と書式付きテキストを追加する

Spire.XLS for .NET を使用して、既存の Excel ドキュメントのヘッダーに画像と書式設定されたテキストを追加する手順は以下の通りです。

  • Workbook オブジェクトを作成し、Workbook.LoadFromFile() メソッドを使用してサンプル Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。
  • 画像を読み込み、スケーリングし、PageSetup.LeftHeaderImage プロパティを通じて左ヘッダーの画像ソースとして設定します。
  • PageSetup.LeftHeader プロパティに &G を設定して、左ヘッダーセクションに画像を表示させます。
  • Workbook.SaveToFile() メソッドを使用して、ワークブックを別の Excel ファイルとして保存します。
  • C#
using Spire.Xls;
using System.Drawing;

namespace AddImageAndTextToHeader
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbook オブジェクトを作成
            Workbook wb = new Workbook();

            // 既存の Excel ファイルを読み込む
            wb.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx");

            // 最初のワークシートを取得
            Worksheet sheet = wb.Worksheets[0];

            // 画像を読み込む
            Image image = Image.FromFile("logo.png");

            // 画像をスケーリング
            Bitmap bitmap = new Bitmap(image, new Size(image.Width / 2, image.Height / 2));

            // ヘッダーの左セクションに画像を追加
            sheet.PageSetup.LeftHeaderImage = bitmap;
            sheet.PageSetup.LeftHeader = "&G";

            // ヘッダーの右セクションにフォーマットされたテキストを追加
            sheet.PageSetup.RightHeader = &"Calibri"&B&10&K4253E2X Information Technology, Inc.  
 www.xxx.com";

            // ファイルを保存
            wb.SaveToFile("Header.xlsx", ExcelVersion.Version2016);
            wb.Dispose();
        }
    }
}

C# で Excel にヘッダーを挿入した結果

Excel のフッターに現在の日付とページ番号を追加する

Spire.XLS for .NET を使用して、既存の Excel ドキュメントのフッターに現在の日付とページ番号を追加する手順は以下の通りです。

  • Workbook オブジェクトを作成し、Workbook.LoadFromFile() メソッドを使用してサンプル Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。
  • PageSetup.LeftFooter プロパティに &"Calibri"&B&10&K4253E2Page &P を設定して、書式付きのページ番号を左フッターセクションに追加します。ページ番号の書式は好みに応じてカスタマイズできます。
  • PageSetup.RightFooter プロパティに &"Calibri"&B&10&K4253E2&D を設定して、現在の日付を右フッターセクションに追加します。同様に、日付の文字列の外観を変更できます。
  • Workbook.SaveToFile() メソッドを使用して、ワークブックを別の Excel ファイルとして保存します。
  • C#
using Spire.Xls;

namespace AddDateAndPageNumberToFooter
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbook オブジェクトを作成
            Workbook wb = new Workbook();

            // 既存の Excel ファイルを読み込む
            wb.LoadFromFile("sample.xlsx");

            // 最初のワークシートを取得
            Worksheet sheet = wb.Worksheets[0];

            // フッターの左セクションにページ番号を追加
            sheet.PageSetup.LeftFooter = "&\"Calibri\"&B&10&K4253E2ページ &P";

            // フッターの右セクションに現在の日付を追加
            sheet.PageSetup.RightFooter = "&\"Calibri\"&B&10&K4253E2&D";

            // ファイルを保存
            wb.SaveToFile("Footer.xlsx", ExcelVersion.Version2016);
            wb.Dispose();
        }
    }
}

 Spire.XLS で Excel にフッターを追加した結果

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Tagged under

電子文書では透かしを使用して著作権を保護したり、状態を指定したりすることがよくあります。Microsoft Excel には Excel に透かしを追加するための機能はありませんが、ヘッダー画像やワードアートを挿入するなど、透かし効果を実現するための特別な方法を使用することができます。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET でプログラムによって Excel に透かしを追加する方法を紹介します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

C# と VB.NET で Excel に透かしを追加する

ヘッダー画像を作成するために、DrawWatermarkImage() というカスタムの方法を定義しました。この方法では、文字列(機密、ドラフト、内部使用などの透かしとして表示するテキスト)に基づいてカスタムの画像を生成できます。画像を生成したら、Worksheet.PageSetup.LeftHeaderImageWorksheet.PageSetup.LeftHeader プロパティを使用して、画像をワークシートのヘッダーのセクションに追加できます。詳細な手順は次のとおりです。

  • Workbook クラスのインスタンスを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルをロードします。
  • フォントを作成し、テキストを定義します。
  • Excel 内のすべてのワークシートをループします。
  • DrawWatermarkImage() メソッドを使用して、テキストに基づいて透かしの画像を作成します。
  • Worksheet.PageSetup.LeftHeaderImage プロパティを使用して、各ワークシートの左側のヘッダーの画像ソースとして画像を設定します。
  • Worksheet.PageSetup.LeftHeader プロパティを 「&G」 に設定して、左側のヘッダーのセクションに画像を表示します
  • シートのビューモードを透かしを見るためのページレイアウトに変更します。
  • Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
  • C#
  • VB.NET
using Spire.Xls;
using System.Drawing;

namespace AddWatermark
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookクラスのインスタンスを初期化し、Excelファイルをロードする
            Workbook workbook = new Workbook();
            workbook.LoadFromFile(@"Sample.xlsx");

            //フォントを作成する
            Font font = new Font("Arial", 40);
            //テキストを定義する
            string watermark = "機密";

            //ファイル内のすべてのシートをループする
            foreach (Worksheet sheet in workbook.Worksheets)
            {
                //DrawWatermarkImage()メソッドを使用して、テキストに基づいて画像を作成する
                Image imgWtrmrk = DrawWatermarkImage(watermark, font, Color.LightCoral, Color.White, sheet.PageSetup.PageHeight, sheet.PageSetup.PageWidth);

                //各シートの左ヘッダーのセクションに画像を追加する
                sheet.PageSetup.LeftHeaderImage = imgWtrmrk;
                sheet.PageSetup.LeftHeader = "&G";

                //シートのビューモードを透かしを見るためのページレイアウトに変更する
                sheet.ViewMode = ViewMode.Layout;
            }

            ///結果ファイルを保存する
            workbook.SaveToFile("AddWatermark.xlsx", ExcelVersion.Version2013);
        }

        private static Image DrawWatermarkImage(string text, Font font, Color textColor, Color backColor, double height, double width)
        {
            //指定した幅と高さの画像を作成する
            Image img = new Bitmap((int)width, (int)height);
            //画像からグラフィックのオブジェクトを作成する
            Graphics drawing = Graphics.FromImage(img);

            //テキストのサイズを取得する
            SizeF textSize = drawing.MeasureString(text, font);

            //指定されたトランスレーションをグラフィックの変換マトリックスに前置きして座標系の原点を変更する
            drawing.TranslateTransform(((int)width - textSize.Width) / 2, ((int)height - textSize.Height) / 2);

            //ローテーションを適用する
            drawing.RotateTransform(-45);

            //指定されたトランスレーションをグラフィックの変換マトリックスに前置きして座標系の原点を変更する
            drawing.TranslateTransform(-((int)width - textSize.Width) / 2, -((int)height - textSize.Height) / 2);

            //背景をペイントする
            drawing.Clear(backColor);

            //テキストのブラシを作成する
            Brush textBrush = new SolidBrush(textColor);

            //グラフィックの中心にテキストを描画する
            drawing.DrawString(text, font, textBrush, ((int)width - textSize.Width) / 2, ((int)height - textSize.Height) / 2);
            drawing.Save();
            return img;
        }
    }
}
Imports Spire.Xls
Imports System.Drawing

Namespace AddWatermark
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            'Workbookクラスのインスタンスを初期化し、Excelファイルをロードする
            Dim workbook As Workbook = New Workbook()
            workbook.LoadFromFile("Sample.xlsx")

            'フォントを作成する
            Dim font As Font = New Font("Arial", 40)
            'テキストを定義する
            Dim watermark = "機密"

            'ファイル内のすべてのシートをループする 
            For Each sheet As Worksheet In workbook.Worksheets
                'DrawWatermarkImage()メソッドを呼び出してテキストに基づいて画像を作成する
                Dim imgWtrmrk As Image = DrawWatermarkImage(watermark, font, Color.LightCoral, Color.White, sheet.PageSetup.PageHeight, sheet.PageSetup.PageWidth)

                '各シートの左ヘッダーのセクションに画像を追加する
                sheet.PageSetup.LeftHeaderImage = imgWtrmrk
                sheet.PageSetup.LeftHeader = "&G"

                'シートのビューモードを透かしを見るためのページレイアウトに変更する
                sheet.ViewMode = ViewMode.Layout
            Next

            '結果ファイルを保存する 
            workbook.SaveToFile("AddWatermark.xlsx", ExcelVersion.Version2013)
        End Sub

        Private Shared Function DrawWatermarkImage(ByVal text As String, ByVal font As Font, ByVal textColor As Color, ByVal backColor As Color, ByVal height As Double, ByVal width As Double) As Image
            '指定した幅と高さの画像を作成する 
            Dim img As Image = New Bitmap(width, height)
            '画像からグラフィックのオブジェクトを作成する
            Dim drawing As Graphics = Graphics.FromImage(img)

            'テキストのサイズを取得する
            Dim textSize As SizeF = drawing.MeasureString(text, font)

            '指定されたトランスレーションをグラフィックの変換マトリックスに前置きして座標系の原点を変更する
            drawing.TranslateTransform((CInt(width) - textSize.Width) / 2, (CInt(height) - textSize.Height) / 2)

            'ローテーションを適用する
            drawing.RotateTransform(-45)

            '指定されたトランスレーションをグラフィックの変換マトリックスに前置きして座標系の原点を変更する
            drawing.TranslateTransform(-(CInt(width) - textSize.Width) / 2, -(CInt(height) - textSize.Height) / 2)

            '背景をペイントする
            drawing.Clear(backColor)

            'テキストのブラシを作成する
            Dim textBrush As Brush = New SolidBrush(textColor)

            'グラフィックの中心にテキストを描画する
            drawing.DrawString(text, font, textBrush, (CInt(width) - textSize.Width) / 2, (CInt(height) - textSize.Height) / 2)
            drawing.Save()
            Return img
        End Function
    End Class
End Namespace

C#/VB.NET:Excel に透かしを追加する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Tagged under