So fügen Sie Wasserzeichen zu Excel in C# hinzu
Wir wissen, dass Microsoft Excel keine integrierte Funktion zum direkten Hinzufügen von Wasserzeichen zu Excel-Tabellen hat, aber tatsächlich können wir andere alternative Möglichkeiten verwenden, um dieses Problem zu lösen Problem, beispielsweise durch Hinzufügen einer Seite. Verwenden Sie Augenbrauenbilder oder Wortkunst, um das Aussehen eines Wasserzeichens zu imitieren. In diesem Artikel zeige ich Ihnen, wie Sie Excel ein Wasserzeichen hinzufügen, indem Sie ein Header-Bild in Excel erstellen und einfügen. Ich habe auch bereits erklärt, wie man Wasserzeichen zu Word-Dokumenten und PDF-Dateien hinzufügt. Sie können bei Bedarf darauf zurückgreifen.
Hier habe ich eine kostenlose Version der Excel-Komponente heruntergeladen – Free Spire.XLS, entwickelt von der Firma E-iceblue, die Zeit spart und den Code vereinfacht.
Nachdem das Steuerelement installiert ist, erstellen Sie ein Projekt, fügen Sie die DLL-Datei im Installationsverzeichnis als Referenz auf das Projekt hinzu und fügen Sie den folgenden Namespace hinzu:
using System; using System.Drawing; using System.Windows.Forms; using Spire.Xls;
Dies ist der Original-Excel-Screenshot der Tabelle:
Im Folgenden sind die detaillierten Schritte und Codeausschnitte aufgeführt:
Schritt 1: Definieren Sie zunächst eine DrawText()-Methode und erstellen Sie ein Bild basierend auf dem Inhalt der Zeichenfolge. Die Zeichenfolge kann „Vertraulich“, „Entwurf“, „Beispiel“ oder ein beliebiger Text sein, der als Wasserzeichen angezeigt werden soll.
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; }
Schritt 2: Initialisieren Sie eine neue Arbeitsmappe und laden Sie die mit Wasserzeichen versehene Datei.
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:UsersAdministratorDesktopsample.xlsx");
Schritt 3: Rufen Sie die DrawText()-Methode auf Erstellen Sie ein neues Bild und stellen Sie das Kopfzeilenbild auf linksbündig ein. Zweitens müssen Sie daran denken, den Ansichtsmodus in „Layout“ zu ändern, da das Headerbild nur angezeigt wird, wenn der Ansichtsmodus „Layout“ ist.
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; }
Schritt 4: Speichern und öffnen Sie die Datei.
workbook.SaveToFile("watermark.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("watermark.xlsx");
Rendering :
Alle Codes:
using System; using System.Drawing; using System.Windows.Forms; using Spire.Xls; namespace Add_Watermark_To_Excel { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //初始化一个新工作簿并加载要添加水印的文件 Workbook workbook = new Workbook(); workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx"); //在页眉插入图片 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; } workbook.SaveToFile("水印.xlsx", ExcelVersion.Version2010); System.Diagnostics.Process.Start("水印.xlsx"); } <br> private static System.Drawing.Image DrawText(String text, System.Drawing.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; } } }
Vielen Dank fürs Stöbern, Ich hoffe, dieser Artikel kann Ihnen helfen. Vielen Dank für Ihre Unterstützung dieser Website!
Ausführlichere Beispiele für das Hinzufügen von Wasserzeichen in C# zu Excel und verwandte Artikel finden Sie auf der chinesischen PHP-Website!