zoukankan      html  css  js  c++  java
  • Excel生成报表之解决方案设置整行整列(附源码)

    源代码下载:https://files.cnblogs.com/happyfish78/RowAndColumn.zip

    首先看下用代码生成的效果图: 

    首先看下这个图中有哪些设置,不难看出其中D列被隐藏,F列有文本并设置字体属性和边框属性,H列的宽度变小了,I列设置了数据格式。

    还有先看下在微软Excel中要生成这样效果图的步骤

    一、微软Excel设置列

    1.输入单元格值。

    2.首先将鼠标的光标移动到列头的位置,此时光标会变为一个向下的箭头形状,此时就可以对该列进行操作。

    3.选择要操作的列,点击鼠标右键,在弹出的如下窗口:

    其中"Format Cells"代表可以对该列的格式进行设置。"Column Width"可以设置该列的列宽,"Hide"表示隐藏列,"UnHide"表示显示列。

    对D列选择Hide选择隐藏该列。

    4.选择F列,右键鼠标选择"Format Cells"选项,设置该列的字体和边框设置。

    5.选择H列,右键鼠标选择"Column Width"选项,设置该列的列宽。

    6.选择I列,右键鼠标选择"Format Cells"选项,设置该列的数据格式。

    经过这些步骤就能实现效果图的效果。

    二、用Acey.ExcelX实现的效果

    首先导入命名空间:

    using Acey.ExcelX;

    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             ICell cell  = worksheet.Cells["F2"];
    12             //设置单元格值。
    13             cell.Value = "Hello";
    14             cell = worksheet.Cells["F5"];
    15             cell.Value = "World";
    16             cell = worksheet.Cells["I1"];
    17             cell.Value = 10;
    18             cell = worksheet.Cells["I3"];
    19             cell.Value = 20;
    20             cell = worksheet.Cells["I5"];
    21             cell.Value = 30;
    22             cell = worksheet.Cells["I6"];
    23             cell.Value = 50;
    24             //获取指定名称的列。
    25             IColumn column = worksheet.Columns["D"];
    26             //隐藏该列。
    27             column.IsHidden = true;
    28             //获取指定名称的列。
    29             column = worksheet.Columns["F"];
    30             //设置该列的字体属性。
    31             column.CellFormat.Font.Name = "Verdana";
    32             column.CellFormat.Font.Size = 8;
    33             column.CellFormat.Font.Bold = true;
    34             column.CellFormat.Font.Color = Color.Blue;
    35             //设置该列的边框。
    36             column.SetBorders(BorderMembers.Left | BorderMembers.Right, LineStyle.Double, Color.Gold);
    37 
    38             //获取指定名称的列。
    39             column = worksheet.Columns["H"];
    40             //设置列宽,单位:字符。
    41             column.Width = 3;
    42 
    43             //获取指定名称的列。
    44             column = worksheet.Columns["I"];
    45             //设置列的数据格式。
    46             column.CellFormat.NumberFormat = "0.00";
    47 
    48             string xlsFile = @"D:\book1.xls";
    49             workbook.SaveAs(xlsFile, FileFormat.Excel97To2003);        }

    1.隐藏D列:

    a. 首先获取D列,其中 IColumn column = worksheet.Columns["D"];获取指定列名的列,你也可以用IColumn column = worksheet.Columns[3];获取指定以零为基数的索引列,用IColumn column = worksheet.Columns["D"];更简单清晰。

    b.隐藏该列:获取D列对象后设置column.IsHidden = true;来隐藏该列。

    2.设置F列的字体和边框

    a.获取F列:column = worksheet.Columns["F"];

    b.设置F列字体属性:

    column.CellFormat.Font.Name = "Verdana"; 

    column.CellFormat.Font.Size = 8;
    column.CellFormat.Font.Bold = true;
     column.CellFormat.Font.Color = Color.Blue;

    来设置列字体名称、大小。粗体和颜色。

    c.设置F列边框: column.SetBorders(BorderMembers.Left | BorderMembers.Right, LineStyle.Double, Color.Gold);来设置列边框样式和颜色。

    3.设置H列

    a.获取H列对象:column = worksheet.Columns["H"];

    b.设置H列列宽:column.Width = 3;

    4.设置I列:

    a.获取I列对象: column = worksheet.Columns["I"];

    b.设置I列的数据格式:column.CellFormat.NumberFormat = "0.00";就能实现设置列的数据格式。

    三、总结

    无需安装微软Excel,用代码也能很轻松实现整行整列的效果。 下载最新版本到www.aceyoffice.com。如果您想对Acey.ExcelX有进一步了解,在网站下载帮助和Demo。

  • 相关阅读:
    任务栏恢复添加快捷方式(即桌快出现箭头)
    去除桌面快捷方式小箭头
    PHP Warning: date() [function.date]: It is not safe to rely on the system's timezone 转
    坑爹的 mysql error 2003!
    浅谈nvm环境搭建与利用nvm安装nodejs
    本地SVN服务器的搭建(WINDOWS环境)
    DevExpress学习之Gridcontrol
    string 和 StringBuilder 的简单理解!
    关注,被关注!
    C# Using 用法
  • 原文地址:https://www.cnblogs.com/happyfish78/p/2762159.html
Copyright © 2011-2022 走看看