上犹电脑信息网我们一直在努力
您的位置:上犹电脑信息网 > 电脑怎么了 > 怎么制作水印-制作Excel水印,你会吗?

怎么制作水印-制作Excel水印,你会吗?

作者:上犹日期:

返回目录:电脑怎么了

来源:一方Excel


有时候我们在做一些表格的时候,希望可以在表格中显示出自己的水印,彰显一下自己的特点,下面我们介绍3种设置Excel水印的方法,来


首先,第一种方法是常规的方法,点击插入选项卡—点击图片--设置图片格式—颜色—冲蚀,这样就将图片设置到页眉了,然后我们这边将焦点放在“&[图片]”前面,然后回车再回车,将水印设置到合适的位置,这样就可以了,当然这种方法的话,水印是只有打印的时候才可以看得到,打印出来后会显示在表中。


第二中方法,效果也是跟上面这种类似,也要打印的时候才能显示出来,或者在页面布局模式中才能看得到,先添加以下代码,


------为单个工作表设置可打印的水印-------


Sub 为工作表设置可打印的水印()


Dim Pic As String, rng As Range '声明变量


Pic = Application.GetOpenFilename("图片文件 (*.jpg; *.bmp),*.jpg; *.bmp") '弹出对话框,让用户选择一张作为水印的图片


If Pic = "False" Then Exit Sub '如果未选择图片则结束程序


ActiveSheet.PageSetup.LeftHeaderPicture.Filename = Pic '指定图片页眉的图片路径


ActiveSheet.PageSetup.LeftHeader = "&G" '让左边页眉显示图片


End Sub


------为全部工作表设置可打印的水印-------


Sub 为所有工作表设置可打印的水印()


Dim Pic As String, rng As Range, sht As Worksheet '声明变量


Pic = Application.GetOpenFilename("图片文件 (*.jpg; *.bmp),*.jpg; *.bmp") '弹出对话框,让用户选择一张作为水印的图片


If Pic = "False" Then Exit Sub '如果未选择图片则结束程序


For Each sht In Worksheets '遍历所有工作表


sht.PageSetup.LeftHeaderPicture.Filename = Pic '指定图片页眉的图片路径


sht.PageSetup.LeftHeader = "&G" '让左边页眉显示图片


Next sht


End Sub


效果如下:


从上面两个例子可以看到,该类水印只在打印预览或将视图模式为“页面视图”下才能直观可见,正常模式下我们是看不到这个水印的,这就比较坑爹了,当然我们可以设置一些图片的透明度,然后用VBA代码设置为不可编辑,但是这样做有一个问题,就是很容易被更改掉,毕竟,Excel的加密安全性太低,所以,如果我们要在Excel中添加在常规模式下可见的图片水印或者文字水印,可以用Visual studio里面制作一个插件,使用Spire.XLS组件给Excel工作表添加水印,代码如下:


---------添加背景文本图片水印------------


  1. static void Main(string[] args)

  2. {

  3. //加载Excel文档

  4. Workbook workbook = new Workbook();

  5. workbook.LoadFromFile("Test.xlsx");



  6. //设置水印文字和字体

  7. Font font = new Font("宋体", 36);

  8. String watermark = "背景水印";



  9. //设置背景图片为水印

  10. foreach (Worksheet sheet in workbook.Worksheets)

  11. {

  12. //调用DrawText()方法创建的图片

  13. Image imgWtrmrk = DrawText(watermark, font,Color.LightCoral,Color.White, sheet.PageSetup.PageHeight,sheet.PageSetup.PageWidth);



  14. sheet.PageSetup.BackgoundImage = imgWtrmrk as Bitmap;



  15. }

  16. //保存文档并预览

  17. workbook.SaveToFile("result.xlsx", ExcelVersion.Version2010);

  18. System.Diagnostics.Process.Start("result.xlsx");

  19. }

  20. private static Image DrawText(String text, System.Drawing.Fontfont,Color textColor, Color backColor, double height, double width)

  21. {

  22. //将用来作为水印的文本返回为图片并设置其展示样式

  23. Image img = new Bitmap((int)width, (int)height);

  24. Graphics drawing = Graphics.FromImage(img);

  25. SizeF textSize = drawing.MeasureString(text, font);

  26. drawing.TranslateTransform(((int)width - textSize.Width) / 2,((int)height - textSize.Height) / 2);

  27. drawing.RotateTransform(-45);

  28. drawing.TranslateTransform(-((int)width - textSize.Width) / 2,-((int)height - textSize.Height) / 2);



  29. drawing.Clear(backColor);

  30. Brush textBrush = new SolidBrush(textColor);

  31. drawing.DrawString(text, font, textBrush, ((int)width -textSize.Width) / 2, ((int)height - textSize.Height) / 2);

  32. drawing.Save();

  33. return img;

  34. }

当然,没有人会为了加个水印去制作一个插件,就像没人会给水沟修座桥,当然要是开发插件的话,那有这样一个小功能,就必须要有了哦。


相关阅读

  • 怎么制作水印-制作Excel水印,你会吗?

  • 上犹电脑怎么了
  • 来源:一方Excel有时候我们在做一些表格的时候,希望可以在表格中显示出自己的水印,彰显一下自己的特点,下面我们介绍3种设置Excel水印的方法,来首先,第一种方法是常规的方法,
关键词不能为空
极力推荐

电脑蓝屏_电脑怎么了_win7问题_win10问题_设置问题_文件问题_上犹电脑信息网

关于我们