Aspose.Words
使用datatable方法将数据传进去
第一步 替换主对象中属性的数据方法
/// <summary>
/// 插入替换的数据
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="DocChuli"></param>
/// <param name="ObClass"></param>
/// <returns></returns>
public static Document ObjectToBookmark<T>(Document DocChuli, T ObClass)
{
if (DocChuli.Range.Bookmarks.Count > 0)
{
if (ObClass != null)
{
System.Reflection.PropertyInfo[] propertys = typeof(T).GetProperties();
foreach (PropertyInfo item in propertys)
{
if (DocChuli.Range.Bookmarks[item.Name] != null)
{
if (item.PropertyType == typeof(bool))//标记位插入复选框
{
bool IsSelect = bool.Parse(item.GetValue(ObClass, null).ToString());
DocumentBuilder builder = new DocumentBuilder(DocChuli);
builder.MoveToBookmark(item.Name);
builder.InsertCheckBox("", IsSelect, 0);
}
else
{
string ValueString = "";
if (item.PropertyType == typeof(DateTime))
{
ValueString = item.GetValue(ObClass, null) == null ? "" : Common.ConvertType.GetDateTime(item.GetValue(ObClass, null)).ToString("yyyy年MM月dd日");
}
else//标记为插入文字
{
ValueString = item.GetValue(ObClass, null) == null ? "" : item.GetValue(ObClass, null).ToString();
}
DocChuli.Range.Bookmarks[item.Name].Text = ValueString;
}
}
}
}
}
return DocChuli;
}
2 关键方法:
/// <summary>
/// 导出文件针对对象
/// </summary>