c#遍历一个对象的字段信息
2024-10-22 08:39:07
c#遍历对象字段
场景:有一个对象作为导出word段落的数据、每一个字段就代表一个段落,可以对相应段落数据设置样式(字体、颜色、加粗……)
参考文献:(12条消息) C#获取实体类字段信息PropertyInfo,字段名称,字段值,字段属性标签_棉晗榜的博客-CSDN博客_c# t实体获取某个字段的值
1、对象
public class WordData
{
/// <summary>
/// 教室名称
/// </summary>
public string cName { get; set; }
/// <summary>
/// 教室编号
/// </summary>
public string cId { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Rank { get; set; }
/// <summary>
/// 联系电话
/// </summary>
public string Phone { get; set; }
/// <summary>
/// 二维码
/// </summary>
public FileStream QRStream { get; set; }
}
2、获取属性中的段落信息
//获取这个类的字段信息
PropertyInfo[] props = typeof(WordData).GetProperties();//实体的字段列表
3、遍历对像相应字段(一个字段代表一个段落,一行)做逻辑处理
FileStream fileStream=null;//二维码
string Text = "";//文本
for (var j = 0; j < props.Count(); j++)
{
//如果字段名不是QRStream
if (props[j].Name != "QRStream")
{
Text = props[j].GetValue(w) as string;
}
else
{
//图片stream
fileStream = props[j].GetValue(w) as FileStream;
}
…………………… 接下来对其做逻辑处理
}
4、最终效果
数据是这个样子的
string FilePath = System.AppDomain.CurrentDomain.BaseDirectory + "Img";
FilePath = FilePath + "/QR.png";
FileStream fs = new FileStream(FilePath, FileMode.OpenOrCreate, FileAccess.Read);
WordData w = new WordData() { cName= "[房间1]" , cId="14985"+1,Rank= "请扫描二维码进行故障报修。关注公众号,可随时了解当前进度",Phone= "报修热线:14541524124", QRStream=fs};
通过逻辑处理后导出word效果 :(WordData提供的文本和图片stream)
导出word使用NPOI插件,参考博客:.Net Word操作之NPOI - じ逐梦 - 博客园 (cnblogs.com)
最新文章
- clean code meaningful names
- SVO实时全局光照优化(里程碑MK2):Sparse Voxel Octree based Global Illumination (SVO GI)
- apache开源项目--kafka
- C#word(2007)操作类--新建文档、添加页眉页脚、设置格式、添加文本和超链接、添加图片、表格处理、文档格式转化
- C语言之固定格式输出当前时间
- java me 旋转的X案例
- 关于locals()、globals()以及作用域的一些感悟
- 分布式集群Session共享 简单多tomcat8+redis的session共享实现
- windows下安装mysql驱动mysql-python
- 老男孩Python全栈学习 S9 日常作业 004
- struts2自定义转换器
- MySQL-5.7.19 在阿里云 CentOS-7.0 上的安装
- gitlab重置root的密码
- 1月4日笔记 vi编辑器
- abap 基本知识
- iOS 常用小功能 总结
- vue+node+mongoDB前后端分离个人博客(入门向)
- LOJ#2070. 「SDOI2016」平凡的骰子(计算几何)
- 页面请求速度慢,TTFB时间长的问题分析
- [C/C++] 快速幂讲解
热门文章
- .Net Core Elasticsearch 时间查询问题
- linux中用户和用户组的概念
- vue 清空element表单数据
- python 读取xls文件
- ASP.NET Core MVC中调用Json()时默认使用Newtonsoft.Json返回数据
- Qt构造函数和析构函数报错undefinedreferenceto`vtable for 。。。。&#39;
- 硬件IIC主从机中断代码注释解析
- dropbear 2019.78 Installing to target......Running build_buildroot failed!
- Python爬取三国演义章节标题和内容(bs4爬取,解决中文乱码)
- vue 数组对象深拷贝 并根据某项属性排序