`

C# 如何给Excel添加水印

阅读更多

大数据时代,数据对企业和个人而言都显得尤为重要。Excel作为一种编辑处理数据的常用工具同样广泛地应用于商业或者政务等各个场合和办公环境。想要声明一些重要的工作表格数据或进行保护时,我们可以通过一定方法来进行保护,可以进行文档加密或者添加水印的方式。我们知道在Word中可以添加文本或者是图片水印,但是在Excel中,我们没法直接添加水印。那该怎么办呢?虽然我们没法直接在Excel文件中直接添加,但是在C#中,我们可以通过代码形式来实现。这里,我发现了一个不错的方法来添加Excel水印,用到了组Spire.XLS for. NET。文章转载自 http://www.cnblogs.com/Yesi/p/5915251.html

下面是全部的代码:

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;
        }
    }  
}

 对比效果图:

  • 大小: 56.3 KB
  • 大小: 30.3 KB
分享到:
评论

相关推荐

    C#给Excel添加水印实例详解

    C#中如何给Excel添加水印 我们知道Microsoft Excel并没有内置的功能直接给Excel表添加水印,但是其实我们可以用其他变通的方式来解决此问题,如通过添加页眉图片或艺术字的方法来模仿水印的外观。所以在这篇文章中,...

    C#中给Excel添加水印的具体方法

    在C#中给Excel添加水印的方法主要通过编程实现,而Excel本身并没有提供直接添加水印的功能。因此,我们通常会使用变通的方式,比如添加页眉图片或者艺术字来模仿水印效果。下面详细介绍该方法的步骤和相关知识点。 ...

     NPOI iTextSharp导出Excel并加水印源码.rar

    NPOI主要用于读写Microsoft Office格式的文件,如Excel,而iTextSharp则用于处理PDF文档,包括添加水印、文本和图像。 1. **NPOI**: 这是一个.NET框架下的开源项目,它允许开发者读取和写入Microsoft Office文件,...

    通过ASP.NET添加水印

    在ASP.NET中添加水印是一项常见的任务,尤其在网页图像处理或者表单验证时非常有用。水印可以是文本、图像或图形,用于增加版权信息、保护数据安全或提供视觉指示。下面我们将深入探讨如何使用ASP.NET实现这一功能,...

    c#给office文件加水印

    Microsoft.Office.Interop原生组件,word/excel/ppt/pdf文档加水印,标准类库,可直接嵌入到项目里引用使用

    使用itextpdf将excel转化为pdf + pdf加水印

    在这个场景中,我们需要将Excel文件转换成PDF格式,并且在此基础上添加水印,以增强文档的安全性和版权标识。这里主要涉及两个关键的技术:itextpdf库和Excel到PDF的转换。 **itextpdf库**是一个强大的Java库,专门...

    Spire.XLS 去水印8.8.1.7z

    此外,Spire.XLS可能还提供了自定义PDF页面设置、添加水印、数字签名等功能。 3. **生成DOC**:除了Excel,Spire.XLS还能将工作簿导出为Word(.doc)文件,这对于需要将数据整合到Word文档,如报告、合同等场景非常...

    C# NPOI导出Excel,Words转PDF

    例如,你可以创建一个新的`HSSFWorkbook`对象来代表Excel文件,然后添加`HSSFSheet`对象作为工作表,接着使用`HSSFRow`和`HSSFCell`来填充数据。以下是一个简单的示例: ```csharp using NPOI.HSSF.UserModel; ...

    Aspose.Cells.dll18.4去水印版本,不需要额外的CS文件

    在早期版本中,Aspose.Cells可能在生成的Excel文件上添加了其公司标志作为水印,以表明文件是通过该库创建的。然而,这个18.4版本消除了这一需求,提供了一个更加纯净的输出体验。描述中提到的"ModifyInMemory.cs...

    Spire.Pdf 去水印+超10页+用例,Spire.Pdf.dll、Spire.License.dll。

    这些文件主要用于演示如何使用Spire.Pdf库来去除PDF文档中的水印,并处理超过10页的PDF。 首先,`Spire.Pdf.dll`是核心库,包含了处理PDF文档的所有功能。通过引用这个DLL,开发者可以访问到一系列API,如创建PDF、...

    excel转pdf免费.zip

    注意:虽然Spire.XLS的免费版在许多情况下足够使用,但它可能会在生成的PDF上添加水印,如果你不希望有水印,可能需要购买其商业版本。 此外,如果你的项目需要处理大量文件或有复杂的转换需求,可能需要考虑其他更...

    导出devexpress插件的GridControl控件中GridView表格中的数据到excel

    使用说明: 只能导出导出devexpress插件的GridControl控件中GridView表格中的数据,表格中有什么数据导出什么数据,列顺序也不变。... 只是我初学C#的一个总结,代码没有进行优化,有不足之处还请各位高手赐教,谢谢

    Aspose生成EXCEL转PDF

    在使用Aspose.Cells之前,首先需要创建一个Workbook对象,然后在其中添加一个Worksheet对象。Workbook对象是EXCEL文件的顶层对象,而Worksheet对象是EXCEL文件中的一个sheet。下面是一个简单的示例: ```csharp ...

    img_to_excel.zip

    此外,这样的工具可能还包含一些自定义选项,如调整图片质量、尺寸或添加水印等。 综上所述,“img_to_excel.zip”提供的工具是一个利用C#编程语言实现的Excel到图片的转换器。它可以帮助用户快速、方便地将Excel...

    .net6 WebApi Excel转PDF并下载PDF文件

    总结,使用.NET 6、C#、EPPlus和iTextSharp,我们可以轻松地实现Excel到PDF的转换,并通过WebApi接口提供文件下载服务。这个功能在报表生成、数据导出等场景下非常实用。在实际开发中,你可能需要根据具体需求调整...

    Aspose.Words for .NET 18.7(.net+.net core) 去水印,学习使用

    1. 安装Aspose.Words库:首先,你需要将Aspose.Words的NuGet包添加到你的.NET或.NET Core项目中。 2. 加载文档:使用Document类加载含有水印的Word文档。 3. 查找水印:通过循环遍历文档的段落和形状,检查是否包含...

    Spire.Doc 去水印版本.

    Spire.Office是E-iceblue公司的一套综合办公组件,除了Spire.Doc外,还包括Spire.Pdf、Spire.XLS、Spire.Presentation等,覆盖了PDF、Excel、PowerPoint等多种文件格式的处理。它们都提供了丰富的API,方便开发者在...

    C#-Spire.Doc-Spire.Pdf.zip

    C# 是一种面向对象的编程语言,广泛应用于开发Windows应用程序,包括桌面应用和Web应用。在本场景中,我们关注的是C#与处理文档相关的库,特别是Spire.Doc和Spire.Pdf。这两个库是Essential Studio产品系列的一部分...

Global site tag (gtag.js) - Google Analytics