专业虚拟主机提供商! 正规合法诚信公司、拥有ICP/ISP双经营许可证
域名空间实时开通立即使用,几分钟即可完成
安全方便的网上支付,超强的域名空间管理程序
我要购买空间,请点这里
我要注册域名,请点这里
我要建设网站,请点这里
我要续费域名,请点这里
我要续费空间,请点这里
我要在线支付,请点这里
首 页 特惠套餐 域名注册 虚拟主机 托管租用 FTP空间 数据库 企业邮局 网站建设 联系我们 付款方式
 | 网站首页 | 虚拟主机资讯 | 域名注册资讯 | 托管租用资讯 | 网络编程 | 网站备案 | 系统安全 | 源码下载 | SEO优化 | 
您现在的位置: IDC资讯网 >> 网络编程 >> Asp.net编程 >> 正文
C#编程实现动态生成Word文档           ★★★
C#编程实现动态生成Word文档
点击数: 更新时间:2009-10-16 17:07:57
 如何用C#编程实现动态生成Word文档并填充数据的效果呢?要使用C#操作word,首先要添加引用:

    1、添加引用->COM->Microsoft Word 11.0 Object Library

    2、在.cs文件中添加

    using  Word;

    下面的例子中包括C#对Word文档的创建、插入表格、设置样式等操作:

    (例子中代码有些涉及数据信息部分被省略,重要是介绍一些C#操作word文档的方法)

    public   string  CreateWordFile( string  CheckedInfo)

    ... {

    string  message  =   "" ;

    try

    ... {

    Object Nothing  =  System.Reflection.Missing.Value;

    Directory.CreateDirectory( " C:/CNSI " );   // 创建文件所在目录

    string  name  =   " CNSI_ "   +  DateTime.Now.ToShortString() + " .doc " ;

    object  filename  =   " C://CNSI// "   +  name;   // 文件保存路径

    // 创建Word文档

    Word.Application WordApp  =   new  Word.ApplicationClass();

    Word.Document WordDoc  =  WordApp.Documents.Add( ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing);

    // 添加页眉

    WordApp.ActiveWindow.View.Type  =  WdViewType.wdOutlineView;

    WordApp.ActiveWindow.View.SeekView  =  WdSeekView.wdSeekPrimaryHeader;

    WordApp.ActiveWindow.ActivePane.Selection.InsertAfter( " [页眉内容] " );

    WordApp.Selection.ParagraphFormat.Alignment  =  Word.WdParagraphAlignment.wdAlignParagraphRight; // 设置右对齐

    WordApp.ActiveWindow.View.SeekView  =  WdSeekView.wdSeekMainDocument; // 跳出页眉设置

    WordApp.Selection.ParagraphFormat.LineSpacing  =  15f; // 设置文档的行间距

    // 移动焦点并换行

    object  count  =   14 ;

    object  WdLine  =  Word.WdUnits.wdLine; // 换一行;

    WordApp.Selection.MoveDown( ref  WdLine,  ref  count,  ref  Nothing); // 移动焦点

    WordApp.Selection.TypeParagraph(); // 插入段落

    // 文档中创建表格

    Word.Table newTable  =  WordDoc.Tables.Add(WordApp.Selection.Range,  12 ,  3 ,  ref  Nothing,  ref  Nothing);

    // 设置表格样式

    newTable.Borders.OutsideLineStyle  =  Word.WdLineStyle.wdLineStyleThickThinLargeGap;

    newTable.Borders.InsideLineStyle  =  Word.WdLineStyle.wdLineStyleSingle;

    newTable.Columns[ 1 ].Width  =  100f;

    newTable.Columns[ 2 ].Width  =  220f;

    newTable.Columns[ 3 ].Width  =  105f;

    // 填充表格内容

    newTable.Cell( 1 ,  1 ).Range.Text  =   " 产品详细信息表 " ;

    newTable.Cell( 1 ,  1 ).Range.Bold  =   2 ; // 设置单元格中字体为粗体

    // 合并单元格

    newTable.Cell( 1 ,  1 ).Merge(newTable.Cell( 1 ,  3 ));

    WordApp.Selection.Cells.VerticalAlignment  =  Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter; // 垂直居中

    WordApp.Selection.ParagraphFormat.Alignment  =  Word.WdParagraphAlignment.wdAlignParagraphCenter; // 水平居中

   // 填充表格内容

    newTable.Cell( 2 ,  1 ).Range.Text  =   " 产品基本信息 " ;

    newTable.Cell( 2 ,  1 ).Range.Font.Color  =  Word.WdColor.wdColorDarkBlue; // 设置单元格内字体颜色

    // 合并单元格

    newTable.Cell( 2 ,  1 ).Merge(newTable.Cell( 2 ,  3 ));

    WordApp.Selection.Cells.VerticalAlignment  =  Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;

    // 填充表格内容

    newTable.Cell( 3 ,  1 ).Range.Text  =   " 品牌名称: " ;

    newTable.Cell( 3 ,  2 ).Range.Text  =  BrandName;

    // 纵向合并单元格

    newTable.Cell( 3 ,  3 ).Select(); // 选中一行

    object  moveUnit  =  Word.WdUnits.wdLine;

    object  moveCount  =   5 ;

    object  moveExtend  =  Word.WdMovementType.wdExtend;

    WordApp.Selection.MoveDown( ref  moveUnit,  ref  moveCount,  ref  moveExtend);

    WordApp.Selection.Cells.Merge();

    // 插入图片

    string  FileName  =  Picture; // 图片所在路径

    object  LinkToFile  =   false ;

    object  SaveWithDocument  =   true ;

    object  Anchor  =  WordDoc.Application.Selection.Range;

    WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName,  ref  LinkToFile,  ref  SaveWithDocument,  ref  Anchor);

    WordDoc.Application.ActiveDocument.InlineShapes[ 1 ].Width  =  100f; // 图片宽度

    WordDoc.Application.ActiveDocument.InlineShapes[ 1 ].Height  =  100f; // 图片高度

    // 将图片设置为四周环绕型

    Word.Shape s  =  WordDoc.Application.ActiveDocument.InlineShapes[ 1 ].ConvertToShape();

    s.WrapFormat.Type  =  Word.WdWrapType.wdWrapSquare;

    newTable.Cell( 12 ,  1 ).Range.Text  =   " 产品特殊属性 " ;

    newTable.Cell( 12 ,  1 ).Merge(newTable.Cell( 12 ,  3 ));

    // 在表格中增加行

    WordDoc.Content.Tables[ 1 ].Rows.Add( ref  Nothing);

    WordDoc.Paragraphs.Last.Range.Text  =   " 文档创建时间: "   +  DateTime.Now.ToString(); // “落款”

    WordDoc.Paragraphs.Last.Alignment  =  Word.WdParagraphAlignment.wdAlignParagraphRight;

    // 文件保存

    WordDoc.SaveAs( ref  filename,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing);

    WordDoc.Close( ref  Nothing,  ref  Nothing,  ref  Nothing);

    WordApp.Quit( ref  Nothing,  ref  Nothing,  ref  Nothing);

    message = name + " 文档生成成功,以保存到C:CNSI下 " ;

    }

    catch

    ... {

    message  =   " 文件导出异常! " ;

    }

    return  message;

    }


以上内容均来自网络,由 稳速网络 搜集整理,如有侵权请联系我们立即删除,如转载请注明原文出处,并保留以下内容。
    [稳速网络] http://www.765.com.cnhttp://www.wsu.cn 是深圳市稳速网络科技有限公司的网络服务品牌,专业经营域名注册虚拟主机网站建设服务器租用托管等业务。经过多年的高速发展,“稳速网络”已经成为我国一家知名的互联网服务提供商。
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新推荐  更多内容
    最新热门  更多内容
    资讯中心首页
    虚拟主机资讯 | 域名注册资讯 | 托管租用资讯 | 网络编程 | 网站备案 | 系统安全 | 源码下载 | ASP | Asp.Net | PHP | MSSQL |MYSQL |
    关于我们 | 联系我们 | 产品价格 | 代理加盟 | 咨询反馈 | 诚聘英才 | 在线对话系统 | ASP技术网 | 帮助中心 | 网站地图
    ICP/ISP证B2-20050322
    ICP/ISP经营许可证编号:粤ICP证B2-20050322 网站备案号:粤B2-20050322号
    客服热线:0755-26499456 0755-26499435 [共8线] 24小时值班:0755-21852765 [更多]
    客服QQ:
    [ 63103 ]
    [ 959260 ]
    代理咨询:
    [ 519065 ]
    [更多]
    客户服务中心:深圳市南山区桃园路前海金岸金丰阁706  邮编:518052
    本站推广词:动态空间 | 网站空间 | 虚拟主机 | 深圳网站建设 | 空间购买 | 域名空间 | ASP空间申请购买
    服务范围:广州·深圳·东莞·珠海·汕头·惠州·中山·佛山·上海·重庆等全国其它地区
    广东省深圳市稳速网络科技有限公司版权所有 严禁以任何形式进行复制、抄袭