C#添加Excel水印-創(chuàng)新互聯(lián)

我們知道,在Excel中不容易直接實(shí)現(xiàn)添加水印的效果,但是Excel數(shù)據(jù)表格作為重要的辦公文檔之一,通過添加水印來實(shí)現(xiàn)防偽或者聲明資料是很有必要的。鑒于此,本文將介紹如何給Excel工作表添加水印的方法。這里分以下兩種情況:

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),衢江企業(yè)網(wǎng)站建設(shè),衢江品牌網(wǎng)站建設(shè),網(wǎng)站定制,衢江網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,衢江網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
  1. 通過添加背景圖片來實(shí)現(xiàn)水印效果
  2. 通過頁眉頁腳添加圖片水印效果。下面作詳細(xì)介紹
    所用工具:Free Spire.XLS for .NET
    PS:下載安裝該組件,在項(xiàng)目程序中添加引用該安裝目錄下的dll文件,并添加如下命名空間:
    using System;
    using Spire.Xls;
    using System.Drawing;

方法一:添加背景圖片式文本水印

static void Main(string[] args)
        {
           //創(chuàng)建一個Workbook類對象,并加載需要添加水印的Excel文檔
            Workbook workbook = new Workbook();
          workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx");

            //初始化一個Font類字體對象,設(shè)置字體字號
            Font font = new Font("宋體", 36);
            //初始化一個String類型變量,并賦值“僅內(nèi)部使用”作為水印文字
            String watermark = "僅內(nèi)部使用";

            //設(shè)置背景圖片為水印
//遍歷工作簿中所有工作表
            foreach (Worksheet sheet in workbook.Worksheets)
            {
                //調(diào)用DrawText()方法繪制文本為圖片
                Image imgWtrmrk = DrawText(watermark, font, Color.LightCoral, Color.White, sheet.PageSetup.PageHeight, sheet.PageSetup.PageWidth);
                //將水印圖片設(shè)置成位圖
                sheet.PageSetup.BackgoundImage = imgWtrmrk as Bitmap;
            }
            //保存文檔并預(yù)覽
            workbook.SaveToFile("result.xlsx", ExcelVersion.Version2010);
            System.Diagnostics.Process.Start("result.xlsx");
        }
        //自定義方法將文本繪制成圖片并設(shè)置文本格式,包括字體,字體顏色、背景色、字體大小等
        private static Image DrawText(String text, System.Drawing.Font font, Color textColor, Color backColor, double height, double width)
        {
            //將用來作為水印的文本返回為圖片并設(shè)置其展示樣式
            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;
        }

需要注意的是,這種方法添加的背景水印無法實(shí)現(xiàn)打印效果,但日常無紙化辦公環(huán)境中,該方法也能很好的滿足需求。
水印添加效果:
C# 添加Excel水印

方法二、添加頁眉圖片水印

static void Main(string[] args)
        {
            //創(chuàng)建一個Workbook類對象并加載Excel文檔
            Workbook workbook = new Workbook();                                       workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx");

            //初始化一個Font類字體對象,設(shè)置字體字號
            Font font = new Font("宋體", 36);
            //初始化一個String類型變量,并賦值“內(nèi)部資料”作為水印文字
            String watermark = "內(nèi)部資料";

            //在頁眉中插入圖片作為模擬水印
            //遍歷工作簿中所有工作表
            foreach (Worksheet sheet in workbook.Worksheets)
            {
                //調(diào)用DrawText()方法創(chuàng)建的圖片
                Image imgWtrmrk = DrawText(watermark, font, System.Drawing.Color.LightCoral, System.Drawing.Color.White, sheet.PageSetup.PageHeight, sheet.PageSetup.PageWidth);

                //插入圖片作為LeftHeaderImage
                sheet.PageSetup.LeftHeaderImage = imgWtrmrk;
                sheet.PageSetup.LeftHeader = "&G";

                //設(shè)置視圖模式,此方法中頁眉水印僅在Layout模式下直觀可見
                sheet.ViewMode = ViewMode.Layout;
            }
            //保存文檔并預(yù)覽
            workbook.SaveToFile("result2.xlsx", ExcelVersion.Version2010);
            System.Diagnostics.Process.Start("result2.xlsx");
        }
        //自定義一個方法將文本繪制成圖片并設(shè)置文本格式,包括字體,字體顏色、背景色、字體大小等
        private static Image DrawText(String text, System.Drawing.Font font, Color textColor, Color backColor, double height, double width)
        {
            //將用來作為水印的文本返回為圖片并設(shè)置其展示樣式
            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;
        }

注意:這種方法只有在打印預(yù)覽或者將試圖模式調(diào)整為“頁面視圖”時才可見水印。

水印添加效果:
C# 添加Excel水印

閱讀結(jié)束!
如需轉(zhuǎn)載請注明出處!

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。

分享標(biāo)題:C#添加Excel水印-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://muchs.cn/article22/dcjjjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣關(guān)鍵詞優(yōu)化、做網(wǎng)站、響應(yīng)式網(wǎng)站商城網(wǎng)站、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作