Excel生成报表之解决方案单元格添加批注

源码下载地址: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;

View Code
 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。

原文地址:https://www.cnblogs.com/happyfish78/p/2766207.html