开源Word读写组件DocX,通过word模板,导出用户简历使用示例
[原创]开源Word读写组件DocX,通过word模板,导出用户简历使用示例
入门请看:
【原创翻译】开源Word读写组件DocX介绍与入门[资料已发送]
我也是通过看上面的入门的。
1.DocX通过word模板批量 导出用户简历
由于Docx有两种方法可以自定义属性:1.1通过word模板文件(在word模板中定义好自定义属性) 1.2 用代码创建word模板,并同时用代码创建自定义属性。
1.1通过word模板文件(在word模板中定义好自定义属性),自己新建一个模板文件。
每个要替换的部分,都定义成自定义属性
域代码如下:TAge 就为自定义属性名称
代码如下:
private void CreateInvoice()
{
DocX g_document;
try
{
//导入模板
g_document = DocX.Load(Server.MapPath( @" moban\Translator.docx " ));
// 查数据,遍历。
DataTable dt = sqldb.GetDataTable( " select * from test " );
if (dt.Rows.Count > 0 )
{
foreach (DataRow dr in dt.Rows)
{
// 把需要填充的数据,替换模板中的信息,并保存
g_document = CreateInvoiceFromTemplate(DocX.Load(Server.MapPath( @" moban\Translator.docx " )),dr);
g_document.SaveAs(Server.MapPath( @" translatorTemp\ " + dr[ " name " ].ToString() + " .docx " ));
}
}
}
catch (FileNotFoundException)
{
// 如模板不存在时,先创建模板,再执行上班操作
// g_document = CreateInvoiceTemplate();
// g_document.Save();
// CreateInvoice();
}
}
下面代码为填充数据方法
private DocX CreateInvoiceFromTemplate(DocX template,DataRow dr)
{
// 为自定义属性赋值,CustomerProperty(name,values),name就是我们刚刚在word中定义的名称。values就是要填充进去的内容
#region Set CustomProperty values
template.AddCustomProperty( new CustomProperty( " Translatorno " , dr[ " translator_no " ].ToString()));
template.AddCustomProperty( new CustomProperty( " TName " , dr[ " name " ].ToString()));
template.AddCustomProperty( new CustomProperty( " TAge " , dr[ " age " ].ToString()));
template.AddCustomProperty( new CustomProperty( " TSex " , dr[ " sex " ].ToString()));
template.AddCustomProperty( new CustomProperty( " TNationality " , dr[ " nationality " ].ToString()));
#endregion
return template;
}
1.2 用代码创建word模板,并同时用代码为word模板创建自定义属性。
private static DocX CreateInvoiceTemplate()
{
// 创建一个文档
DocX document = DocX.Create( @" docs\InvoiceTemplate.docx " );
//先创建了一个表格
Table layout_table = document.InsertTable( 2 , 2 );
layout_table.Design = TableDesign.TableNormal;
layout_table.AutoFit = AutoFit.Window;
// 定义格式
Formatting dark_formatting = new Formatting();
dark_formatting.Bold = true ;
dark_formatting.Size = 12 ;
dark_formatting.FontColor = Color.FromArgb( 31 , 73 , 125 );
// 定义格式
Formatting light_formatting = new Formatting();
light_formatting.Italic = true ;
light_formatting.Size = 11 ;
light_formatting.FontColor = Color.FromArgb( 79 , 129 , 189 );
#region Company Name
//取表格的第一行第一列的第一段落
Paragraph upper_left_paragraph = layout_table.Rows[ 0 ].Cells[ 0 ].Paragraphs[ 0 ];
// 新建一个自定义属性。其对应word中的内容是Translatorno为自定义属性名称,translatorno,为我们自己的word里面的内容
CustomProperty company_name = new CustomProperty( " Translatorno " , " translatorno " );
// 加入自定义属性
layout_table.Rows[ 0 ].Cells[ 0 ].Paragraphs[ 0 ].InsertDocProperty(company_name, f: dark_formatting);
return document;
}
2. 资源
开源网址: http://docx.codeplex测试数据/
写篇博客不容易,烦躁的心情都见鬼去吧。兄弟们,对你有帮助,不要吝啬鼠标哦。
可以去下载示例代码。
分类: C#,.net入门
作者: Leo_wl
出处: http://HdhCmsTestcnblogs测试数据/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于开源Word读写组件DocX,通过word模板,导出用户简历使用示例的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did46754