Heim Backend-Entwicklung C#.Net-Tutorial Detailliertes Beispiel für das Hinzufügen von Wasserzeichen zu Excel mit C#

Detailliertes Beispiel für das Hinzufügen von Wasserzeichen zu Excel mit C#

Jan 13, 2017 pm 05:06 PM

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;
Nach dem Login kopieren

Dies ist der Original-Excel-Screenshot der Tabelle:

Detailliertes Beispiel für das Hinzufügen von Wasserzeichen zu Excel mit C#

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;
}
Nach dem Login kopieren

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;
 }
Nach dem Login kopieren

Schritt 4: Speichern und öffnen Sie die Datei.

workbook.SaveToFile("watermark.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("watermark.xlsx");

Rendering :

Detailliertes Beispiel für das Hinzufügen von Wasserzeichen zu Excel mit C#

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;
    }
  
  }
}
Nach dem Login kopieren

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!


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie man verschiedene Symbole in der C -Sprache verwendet Wie man verschiedene Symbole in der C -Sprache verwendet Apr 03, 2025 pm 04:48 PM

Die Nutzungsmethoden von Symbolen in der C-Sprachabdeckung Arithmetik, Zuordnung, Bedingungen, Logik, Bitoperatoren usw. werden für grundlegende mathematische Operationen verwendet, Zuordnungsoperatoren werden zur Zuordnung und Addition verwendet, Subtraktion, Multiplikationszuordnung und Abteilungszuweisung, Zustandsbetreiber werden für Unterschiede verwendet. Logische Operationen werden verwendet. Logische Operationen werden verwendet. Logische Operationen werden verwendet. Zeiger, Markierungen am Ende der Datei und nicht numerische Werte.

Was ist die Rolle von CHAR in C -Saiten? Was ist die Rolle von CHAR in C -Saiten? Apr 03, 2025 pm 03:15 PM

In C wird der Zeichenentyp in Saiten verwendet: 1. Speichern Sie ein einzelnes Zeichen; 2. Verwenden Sie ein Array, um eine Zeichenfolge darzustellen und mit einem Null -Terminator zu enden. 3. Durch eine Saitenbetriebsfunktion arbeiten; 4. Lesen oder geben Sie eine Zeichenfolge von der Tastatur aus.

Wie man mit Sonderfiguren in der C -Sprache umgeht Wie man mit Sonderfiguren in der C -Sprache umgeht Apr 03, 2025 pm 03:18 PM

In der C -Sprache werden Sonderzeichen durch Escape -Sequenzen verarbeitet, wie z. B.: \ n repräsentiert Linienbrüche. \ t bedeutet tab charakter. Verwenden Sie Escape -Sequenzen oder Zeichenkonstanten, um Sonderzeichen darzustellen, wie z. B. char c = '\ n'. Beachten Sie, dass der Backslash zweimal entkommen muss. Verschiedene Plattformen und Compiler haben möglicherweise unterschiedliche Fluchtsequenzen. Bitte wenden Sie sich an die Dokumentation.

Der Unterschied zwischen char und wchar_t in der C -Sprache Der Unterschied zwischen char und wchar_t in der C -Sprache Apr 03, 2025 pm 03:09 PM

In der C -Sprache ist der Hauptunterschied zwischen char und wchar_t die Zeichencodierung: char verwendet ASCII oder erweitert ASCII, wchar_t Unicode; char nimmt 1-2 Bytes auf, wchar_t nimmt 2-4 Bytes auf; char ist für englischen Text geeignet. Wchar_t ist für mehrsprachige Text geeignet. char ist weithin unterstützt, wchar_t hängt davon ab, ob der Compiler und das Betriebssystem Unicode unterstützen. char ist in der Charakterbereich begrenzt, WCHAR_T hat einen größeren Charakterbereich und spezielle Funktionen werden für arithmetische Operationen verwendet.

Der Unterschied zwischen Multithreading und asynchronem C# Der Unterschied zwischen Multithreading und asynchronem C# Apr 03, 2025 pm 02:57 PM

Der Unterschied zwischen Multithreading und Asynchron besteht darin, dass Multithreading gleichzeitig mehrere Threads ausführt, während asynchron Operationen ausführt, ohne den aktuellen Thread zu blockieren. Multithreading wird für rechenintensive Aufgaben verwendet, während asynchron für die Benutzerinteraktion verwendet wird. Der Vorteil des Multi-Threading besteht darin, die Rechenleistung zu verbessern, während der Vorteil von Asynchron nicht darin besteht, UI-Threads zu blockieren. Die Auswahl von Multithreading oder Asynchron ist von der Art der Aufgabe abhängt: Berechnungsintensive Aufgaben verwenden Multithreading, Aufgaben, die mit externen Ressourcen interagieren und die UI-Reaktionsfähigkeit asynchron verwenden müssen.

Wie man CHO in C -Sprache umwandelt Wie man CHO in C -Sprache umwandelt Apr 03, 2025 pm 03:21 PM

In der C -Sprache kann die char -Typ -Konvertierung direkt in einen anderen Typ konvertiert werden, wenn: Casting: Verwenden von Casting -Zeichen. Automatische Konvertierung des Typs: Wenn ein Datentyp einen anderen Werttyp berücksichtigen kann, wandelt der Compiler diese automatisch um.

Was ist die Funktion der C -Sprachsumme? Was ist die Funktion der C -Sprachsumme? Apr 03, 2025 pm 02:21 PM

Es gibt keine integrierte Summenfunktion in der C-Sprache, daher muss sie selbst geschrieben werden. Die Summe kann erreicht werden, indem das Array durchquert und Elemente akkumulieren: Schleifenversion: Die Summe wird für die Schleifen- und Arraylänge berechnet. Zeigerversion: Verwenden Sie Zeiger, um auf Array-Elemente zu verweisen, und eine effiziente Summierung wird durch Selbststillstandszeiger erzielt. Dynamisch Array -Array -Version zuweisen: Zuordnen Sie Arrays dynamisch und verwalten Sie selbst den Speicher selbst, um sicherzustellen, dass der zugewiesene Speicher befreit wird, um Speicherlecks zu verhindern.

So verwenden Sie char Array in C -Sprache So verwenden Sie char Array in C -Sprache Apr 03, 2025 pm 03:24 PM

Das Char -Array speichert Zeichensequenzen in der C -Sprache und wird als char Array_name [Größe] deklariert. Das Zugriffselement wird durch den Einweisoperator weitergeleitet, und das Element endet mit dem Null -Terminator '\ 0', der den Endpunkt der Zeichenfolge darstellt. Die C -Sprache bietet eine Vielzahl von String -Manipulationsfunktionen wie Strlen (), Strcpy (), Strcat () und strcmp ().

See all articles