当函数需要传入较多的参数,可分装成结构体
2012-09-25 09:01
134 查看
在编程的过程中,特别是AE二次开发或office二次开发的过程中,在调用已有函数时,需要传入较多的参数,如在excel二次开发时,对一个单元格进行操作,需要传入字体信息、边框样式、内容等。
结构体如下:
调用代码:
注:此随笔由本人与RoyYu (http://home.cnblogs.com/u/RoyYu/)共同完成
结构体如下:
/// <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/)共同完成
相关文章推荐
- 结构体作为参数传入函数错误
- 需要DLL函数输出的结果信息,尽量使用传入参数做为输出变量~!
- 手写的日期排序 数组作为参数传入排序函数,输出时需要override String类中的 toString
- python clock装饰器 计算函数执行时间,执行结果及传入的参数
- C# 引用类型作为函数参数时一些需要注意的地方
- VC控制台程序中函数的传入参数首字母不能为下划线
- 编写一个函数,分别统计出传入字符串参数(可能不止一个参数)的英文字母,空格,数字和其他字符的个数
- 利用va_list向拥有可变参数函数传入可变的参数
- week04_python函数、参数及参数结构
- spring mvc:实现给Controller函数传入map参数
- C语言-----内存与指针(3) How 4000 do you pass a string to a function如何给一个函数传入字符串作为参数:
- C++指针作为函数的参数进行传递时需要注意的一些问题
- 写个函数计算所有传入参数相乘的结果(参数数量不定)
- C++中 当函数所有参数都需要类型转换时 需要将其声明为non-member函数
- C#: 过程或函数""需要""参数,但未提供该参数
- Windows环境下main()函数传入参数
- c++ std::function作为参数传入函数
- 在JNI中调用本地带结构体参数的函数
- C#: 过程或函数""需要""参数,但未提供该参数
- Lua函数指针传入函数所属者参数