源码下载地址:https://files.cnblogs.com/happyfish78/Comments.zip
首先看下代码生成的效果图:
不难看出单元格C3和单元格F8有批注。其中单元格C3的批注设置富文本样式,F8设置文本旋转的角度。
先来看下要生成这样的效果,在微软Excel中要如何设置。
一、微软Excel单元格加批注
1.选择单元格C3,鼠标右键,在弹出的选项中选择"添加批注",就是添加一个批注对象,修改添加的批注对象的文本,如果要设置富文本,见http://www.cnblogs.com/happyfish78/archive/2012/11/08/2759519.html 文章中富文本设置。
如果要显示该批注,点击该单元格鼠标右键,弹出的选项中多出了"Edit comment","Delete Comment"和"Show/Hide Comments",如下图:
如要显示该批注,选择"Show/Hide Comments"即可。
2.选择单元格F8批注的文本旋转。选择添加的批注对象,鼠标右键选择批注格式,在弹出对话框中选择:
选择文本旋转:从上到下,并选中"Automatic Size"即可。
二、用Acey.ExcelX实现的效果
首先导入命名空间:
using System.Drawing;
using System.Diagnostics;
using Acey.ExcelX;
using Acey.ExcelX.Drawing;
1 /// <summary> 2 /// 下面例子展示如何向单元格中添加批注。 3 /// </summary> 4 public void Sample() 5 { 6 //创建工作薄。 7 IWorkbook workbook = ExcelxApplication.CreateWorkbook(); 8 //获取指定索引的工作表。 9 IWorksheet worksheet = workbook.Worksheets[0]; 10 //获取该工作表中所有的批注。 11 ICommentCollection comments = worksheet.Comments; 12 //添加一个指定单元格的批注并返回该批注对象。 13 IComment comment = comments.Add("C3"); 14 //设置该批注的文本。 15 comment.Text = "Hello World"; 16 //显示该批注。 17 comment.Visible = true; 18 //获取该批注的富文本对象。 19 ICharacters characters = comment.Characters; 20 //设置指定开始位置和长度的富文本的字体属性。 21 characters.SubCharacters(0, 5).Font.Name = "Verdana"; 22 characters.SubCharacters(0, 5).Font.Bold = true; 23 characters.SubCharacters(0, 5).Font.Size = 16; 24 characters.SubCharacters(0, 5).Font.Color = Color.Blue; 25 //设置指定开始位置的富文本的字体属性。 26 characters.SubCharacters(6).Font.Name = "宋体"; 27 characters.SubCharacters(6).Font.Italic = true; 28 characters.SubCharacters(6).Font.Color = Color.Gold; 29 30 //添加一个指定单元格的批注并返回该批注对象。 31 comment = comments.Add("F8"); 32 //设置该批注的文本。 33 comment.Text = "Office"; 34 //设置批注对象的文本旋转。 35 comment.Orientation = OrientationType.TopToBottom; 36 //设置根据批注内容自动调整大小。 37 comment.AutoSize = true; 38 //显示该批注。 39 comment.Visible = true; 40 41 //保存该工作薄为指定类型。 42 string xlsFile = @"d:\AddComment.xls"; 43 workbook.SaveAs(xlsFile, FileFormat.Excel97To2003); 44 Process.Start("Explorer", "/select," + xlsFile); Process.Start(xlsFile); 45 }
1.单元格C3批注:
IComment comment = comments.Add("C3");表明向C3中添加批注。
comment.Text = "Hello World"; 设置批注的文本。
comment.Visible = true; 设置显示该批注。
ICharacters characters = comment.Characters;获取批注的富文本对象,可对其设置字体属性。关于富文本中设置字体,详见:
http://www.cnblogs.com/happyfish78/archive/2012/11/08/2759519.html
2.单元格F8中批注:
comment = comments.Add("F8");表明向F8中添加批注。
comment.Text = "Office";设置批注的文本。
comment.Visible = true; 设置显示该批注。
comment.Orientation = OrientationType.TopToBottom;设置文本的旋转类型。
comment.AutoSize = true; 设置根据批注内容自动调整大小。
三、总结
无需安装微软Excel,用代码也能很轻松实现添加批注和批注富文本的效果。 下载最新版本到www.aceyoffice.com。如果您想对Acey.ExcelX有进一步了解,在网站下载帮助和Demo。