我有一个班级:
MyClass
{
public int Id{set;get;}
public string MollName{set;get;}
public string MollAddress{set;get;}
public string MollPRG{set;get;}
}
我用它在Excel中生成报告。我编写了一个完整的文档,所以我没有任何模板 为了制作报告的列名,我使用:
var fields = typeof(MyClass).GetFields(
BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
var names = Array.ConvertAll(fields, field => field.Name).ToList();
var trimedNames = names.Select(name => name.Substring(1, name.IndexOf(">", StringComparison.Ordinal) - 1)).ToList();
foreach (var fieldName in trimedNames)
{
//**some code
}
我收到包含列名的报告:
Id
MollName
MollAddress
MollPRG
我如何用空格来获取它?:
Id
Moll Name
Moll Address
Moll PRG
答案 0 :(得分:2)
你可以试试一个正则表达式,样本:
foreach (var fieldName in trimedNames)
{
var fieldNameWithSpaces = Regex.Replace(fieldName, "(\\B[A-Z])", " $1");
// you can use fieldNameWithSpaces here...
}
请参阅此帖子:.NET - How can you split a "caps" delimited string into an array?