ホームページ  >  記事  >  バックエンド開発  >  C# を使用して Excel にウォーターマークを追加する詳細な例

C# を使用して Excel にウォーターマークを追加する詳細な例

高洛峰
高洛峰オリジナル
2017-01-13 17:06:542127ブラウズ

C# で Excel にウォーターマークを追加する方法

Microsoft Excel には Excel テーブルにウォーターマークを直接追加する組み込み関数がないことはわかっていますが、実際にはヘッダーの追加など、他の代替方法を使用してこの問題を解決できます。画像またはワードアートの透かしの外観を模倣する方法。そこでこの記事では、Excelでヘッダー画像を作成して挿入することで、Excelにウォーターマークを追加する方法を紹介します。 Word文書やPDFファイルに透かしを追加する方法も以前に紹介しましたので、必要に応じて参照してください。

ここでは、E-iceblue 社が開発した Excel コンポーネントの無料版 - Free Spire.XLS をダウンロードしました。これにより、時間を節約し、コードを簡素化できます。

コントロールがインストールされたら、プロジェクトを作成し、プロジェクトへの参照としてインストール ディレクトリに dll ファイルを追加し、次の名前空間を追加します:

using System;
using System.Drawing;
using System.Windows.Forms;
using Spire.Xls;

これは元の Excel テーブルのスクリーンショットです:

C# を使用して Excel にウォーターマークを追加する詳細な例

詳細な手順とコード スニペットは次のとおりです:

ステップ 1: まず DrawText() メソッドを定義し、文字列の内容に基づいて画像を作成します。文字列には、「機密」、「ドラフト」、「サンプル」、または透かしとして表示する任意のテキストを指定できます。

private static System.Drawing.Image DrawText(String text, System.Drawing.Font font, Color textColor, Color backColor, double height, double width) <br>{
 //创建一个指定宽度和高度的位图图像
 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;
}

ステップ 2: 新しいワークブックを初期化し、透かし入りのファイルをロードします。

Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:UsersAdministratorDesktopsample.xlsx");

ステップ 3: DrawText() メソッドを呼び出して新しい画像を作成し、ヘッダー画像を左揃えに設定します。次に、ヘッダー画像は表示モードがレイアウトの場合にのみ表示されるため、表示モードをレイアウトに変更することを忘れないでください。

Font font = new System.Drawing.Font("arial", 40);
String watermark = "内部资料";
foreach (Worksheet sheet in workbook.Worksheets)
{
 //调用DrawText()方法新建图片
 System.Drawing.Image imgWtrmrk = DrawText(watermark, font, System.Drawing.Color.LightCoral, System.Drawing.Color.White, sheet.PageSetup.PageHeight, sheet.PageSetup.PageWidth);
 //将页眉图片设置为左对齐
 sheet.PageSetup.LeftHeaderImage = imgWtrmrk;
 sheet.PageSetup.LeftHeader = "&G";
 //水印只会在此种模式下显现
 sheet.ViewMode = ViewMode.Layout;
 }

ステップ 4: ファイルを保存して開きます。 workbook.savetofile( "watermark.xlsx"、excelversion.version2010);

system.diagnostics.process.start( "watermark.xlsx");



この記事があなたのお役に立てれば幸いです。このサイトを応援していただきありがとうございます。

C# を使用して Excel にウォーターマークを追加する詳細な例と関連記事については、PHP 中国語 Web サイトに注目してください。 C# を使用して Excel にウォーターマークを追加する詳細な例

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。