zoukankan      html  css  js  c++  java
  • 当函数需要传入较多的参数,可分装成结构体

        在编程的过程中,特别是AE二次开发或office二次开发的过程中,在调用已有函数时,需要传入较多的参数,如在excel二次开发时,对一个单元格进行操作,需要传入字体信息、边框样式、内容等。

       结构体如下:

     /// <summary>
        /// 报表列头信息
        /// </summary>
        public struct ExcelColumnHead
        {
            /// <summary>
            /// 起始单元格行索引
            /// </summary>
            public int StartRow;
    
            /// <summary>
            /// 起始单元格列索引
            /// </summary>
            public int StartColumn;
    
            /// <summary>
            /// 行数
            /// </summary>
            public int RowCount;
    
            /// <summary>
            /// 列数
            /// </summary>
            public int ColumnCount;
    
            /// <summary>
            /// 字体大小
            /// </summary>
            public int FontSize;
    
            /// <summary>
            /// 字体名称
            /// </summary>
            public string FontName;
    
            /// <summary>
            /// 是否粗体
            /// </summary>
            public bool IsBold;
    
            public ExcelColumnHead(int pStartRow, int pStartColumn, int pRowCount, int pColumnCount, int pFontSize, string pFontName
                , bool pIsBold)
            {
                StartRow = pStartRow;
                StartColumn = pStartColumn;
                RowCount = pRowCount;
                ColumnCount = pColumnCount;
                FontSize = pFontSize;
                FontName = pFontName;
                IsBold = pIsBold;
            }
        }
    

     调用代码:

    /// <summary>
            /// 向表格中写入内容
            /// </summary>
            /// <param name="pColumnHeadInfo"></param>
            /// <param name="excelValue"></param>
            /// <param name="_Worksheet"></param>
            private void CreateExcelHead(ExcelColumnHead pColumnHeadInfo, string excelValue, ref  Excel.Worksheet _Worksheet)
            {
                Excel.Range _Range = null;
                object point1 = _Worksheet.Cells[pColumnHeadInfo.StartRow, pColumnHeadInfo.StartColumn];
                object point2 = _Worksheet.Cells[pColumnHeadInfo.StartRow + pColumnHeadInfo.RowCount - 1, pColumnHeadInfo.StartColumn + pColumnHeadInfo.ColumnCount - 1];
                _Range = _Worksheet.get_Range(point1, point2);//获取单元格
    
                if (pColumnHeadInfo.RowCount > 0 || pColumnHeadInfo.ColumnCount > 0)
                {
                    _Range.MergeCells = true; //合并单元格
                }
    
                _Range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;//内容水平居中
                _Range.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;//内容垂直居中 
                _Range.Font.Size = pColumnHeadInfo.FontSize;
                _Range.Font.Name = pColumnHeadInfo.FontName;
                _Range.Font.Bold = pColumnHeadInfo.IsBold;
                _Worksheet.Cells[_Range.Row, _Range.Column] = excelValue;//把内容写入单元格
                _Range.EntireColumn.AutoFit();
                if (pColumnHeadInfo.StartRow != 1 && pColumnHeadInfo.StartRow != 2)//不是标题的单元格加边框
                {
                    SetRangRoundLine(_Range);
                }
            }
    

     注:此随笔由本人与RoyYu (http://home.cnblogs.com/u/RoyYu/)共同完成

  • 相关阅读:
    后端MVC与前端MVVM的区别
    解析身份证号
    awk的执行方式
    案例九:shell脚本自动创建多个新用户,并设置密码
    一键配置tomcat定期日志清理功能
    date命令
    将dict.define转化成dict.txt
    FastDFS 配置 Nginx 模块及访问测试
    nohup命令的用法
    手把手教你如何玩转消息中间件(ActiveMQ)
  • 原文地址:https://www.cnblogs.com/wylaok/p/2700997.html
Copyright © 2011-2022 走看看