zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    ios逆向工程-内部钩子(Method Swizzling)
    ios逆向工程-动态分析
    ios逆向工程-静态分析
    Android Hook神器:XPosed入门与登陆劫持演示
    Android HOOK工具Cydia Substrate使用详解
    Android Hook框架Xposed详解
    Android Hook 框架 Cydia_substrate 详解
    Android上玩玩Hook:Cydia Substrate实战
    iOS8扩展插件开发配置 [转载]
    SQL触发器调用.NET的类方法
  • 原文地址:https://www.cnblogs.com/happyfish78/p/2766207.html
Copyright © 2011-2022 走看看