C # Add a watermark instance to Excel _c# tutorial

Source: Internet
Author: User
Tags drawtext

How to add a watermark to excel in C #

We know that Microsoft Excel does not have built-in functionality to add watermarks directly to Excel tables, but we can actually work around this problem in other ways, such as by adding a header picture or WordArt to mimic the appearance of the watermark. So in this article, I'll show you how to add a watermark to Excel by creating and inserting a header picture in Excel. I also shared how to add a watermark to a Word document and add a watermark to a PDF file, as well as the need for reference.

Here I downloaded a free version of the Excel component, E-iceblue, which was developed by the company, which saves time and simplifies the code.

After the control is installed, create the project, add the DLL file under the installation directory as a reference to the project, and add the following namespaces:

Using System;
Using System.Drawing;
Using System.Windows.Forms;
Using Spire.xls;

This is a screenshot of the original Excel table:

The following are detailed steps and code snippets:

Step 1: First define a DrawText () method, and create a picture based on the contents of the string. The string can be "confidential", "Draft", "Sample", or any text you want to display as a watermark.

private static System.Drawing.Image DrawText (String text, System.Drawing.Font Font, color textcolor, color BackColor, Dou ble height, double width) <br>{
 //Create a bitmap image of the specified width and height the image
 img = new Bitmap (int) width, (int) height);
 Graphics drawing = Graphics.fromimage (IMG);
 Gets the text size
 SizeF textsize = drawing. MeasureString (text, font);
 Rotate the picture
 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);
 Draws a background
 drawing. Clear (BackColor);
 Create a text brush
 Brush textbrush = new SolidBrush (textcolor);
 Drawing. DrawString (text, font, Textbrush, ((int) width-textsize.width)/2, ((int) height-textsize.height)/2);
 Drawing. Save ();
 return img;
}

Step 2: Initialize a new workbook and load the file that adds the watermark.

Workbook workbook = new Workbook ();
Workbook. LoadFromFile (@ "C:\Users\Administrator\Desktop\sample.xlsx");

Step 3: Call the DrawText () method to create a new picture and set the header picture to left-aligned. Second, because the header picture is displayed when the view mode is layout, make sure you remember to change the view mode to layout.

Font font = new System.Drawing.Font ("Arial");
String watermark = "internal data";
foreach (worksheet sheet in workbook. Worksheets)
{
 //Call DrawText () method new picture
 System.Drawing.Image imgwtrmrk = DrawText (watermark, Font, System.Drawing.Color.LightCoral, System.Drawing.Color.White, sheet. Pagesetup.pageheight, Sheet. Pagesetup.pagewidth);
 Set the header picture to left-aligned
 sheet. Pagesetup.leftheaderimage = IMGWTRMRK;
 Sheet. Pagesetup.leftheader = "&g";
 Watermarks only show sheet in this mode
 . ViewMode = viewmode.layout;
 }

Step 4: Save and open the file.

Workbook. SaveToFile ("watermark. xlsx", excelversion.version2010);
System.Diagnostics.Process.Start ("watermark. xlsx");

Effect Chart:

All code:

Using System;
Using System.Drawing;
Using System.Windows.Forms;
 
Using Spire.xls; namespace Add_watermark_to_excel {public partial class Form1:form {public Form1 () {Initializecompon
    ENT (); } private void Button1_Click (object sender, EventArgs e) {//Initialize a new workbook and load the file to add the Watermark workbook workbook
      = new Workbook (); Workbook.
      LoadFromFile (@ "C:\Users\Administrator\Desktop\sample.xlsx");
      Inserts a picture in the header font font = new System.Drawing.Font ("Arial", 40);
      String watermark = "internal data"; foreach (worksheet sheet in workbook. Worksheets) {//Call DrawText () method new picture System.Drawing.Image IMGWTRMRK = DrawText (watermark, Font, System . Drawing.Color.LightCoral, System.Drawing.Color.White, sheet. Pagesetup.pageheight, Sheet.
        Pagesetup.pagewidth); Set the header picture to left-aligned sheet.
        Pagesetup.leftheaderimage = IMGWTRMRK; Sheet.
        Pagesetup.leftheader = "&g"; Watermarks only show sheet in this mode. ViewMode = Viewmode.layout;
      } workbook.
      SaveToFile ("watermark. xlsx", excelversion.version2010);
    System.Diagnostics.Process.Start ("watermark. xlsx"); } <br> private static System.Drawing.Image DrawText (String text, System.Drawing.Font Font, Color TextColor, C Olor BackColor, double height, double width {//Create a bitmap image with a specified width and height the image img = new Bitmap (int) width, (int)
      height);
      Graphics drawing = Graphics.fromimage (IMG); Gets the text size SizeF textsize = drawing.
      MeasureString (text, font); Rotate the picture 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); Draws a background drawing.
      Clear (BackColor);
      Create a text brush Brush Textbrush = new SolidBrush (textcolor); Drawing.
  DrawString (text, font, Textbrush, ((int) width-textsize.width)/2, ((int) height-textsize.height)/2);    Drawing.
      Save ();
    return img;
 }
 
  } 
}

  Thank you for your browsing, I hope this article can bring you some help, thank you for your site   support!

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.