public class GenarateCarbonReportFromTemplate
{
private static List<T> GetLstData<T>(string tableName)
{
XXXXXXXXXXXX
}
private static XWPFTable createXTable<T>(CT_Tbl tbl, IBody body, List<T> lstData)
{
XXX
}
private static XWPFTable GetXTableFromTablename(CT_Tbl tbl, XWPFDocument myDocx, string tableName)
{
//获取对应的List数据
MethodInfo getLstData = typeof(GenarateCarbonReportFromTemplate).GetMethod(nameof(GetLstData), BindingFlags.NonPublic | BindingFlags.Static);
MethodInfo getLstDataT = getLstData.MakeGenericMethod(GetLstDataElementType(tableName));
var lstData = getLstDataT.Invoke(null, new object[] { tableName });
//根据list数据生成XWPFTable
MethodInfo getXTable = typeof(GenarateCarbonReportFromTemplate).GetMethod(nameof(createXTable), BindingFlags.NonPublic | BindingFlags.Static);
MethodInfo getXTableT = getXTable.MakeGenericMethod(GetLstDataElementType(tableName));
var xTable = getXTableT.Invoke(null, new object[] { tbl, myDocx, lstData});
return (XWPFTable)xTable;
}
}
.NET 使用反射动态调用方法
最新推荐文章于 2026-04-28 05:12:09 发布
该博客探讨了一个名为`GenarateCarbonReportFromTemplate`的类,它利用泛型和反射技术从模板中生成Word报告。`GetLstData`方法获取特定表格的数据,而`createXTable`则根据这些数据创建XWPFTable对象。通过`GetXTableFromTablename`方法,实现了动态调用和数据处理,将表格与内容结合,生成定制化的Word报告。

1292

被折叠的 条评论
为什么被折叠?



