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 テーブルのスクリーンショットです:
詳細な手順とコード スニペットは次のとおりです:
ステップ 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 サイトに注目してください。