mengyao||Andy 都市家园--www.edongguan.com

欢迎光临 都市家园 www.edongguan.com

用户操作
[即时聊天] [发私信] [加为好友]
mengyaoID:mengyao
372123次访问,排名151,好友6人,关注者18人。
mengyao的文章
原创 193 篇
翻译 1 篇
转载 167 篇
评论 164 篇
mengyao的公告
最近评论
tom4058:看了此文,我真是汗颜啊!我真是菜鸟中的菜鸟
yzq124391:这样
create procedure sp_aaaaaaa
@a nvarchar(20)
as
begin

--你要做的事情

end
yzq124391:你连个存储过程的begin end 都不写当然后语法错误
xin2222:哇,太棒了,收藏了。
fighter999:很老的文章了,不过我也是现在才看!!谢
文章分类
收藏
    相册
    成长历程
    我的鑫空
    MVP 周公的专栏
    经典合作联盟
    king
    LoveCherry技术无极限
    nenith1981
    Span Zhang(张友邦)
    专注.NET
    周公的专栏(RSS)
    大可山
    天轰穿.net/vs2005/ajax入门(RSS)
    张明的博客
    桃花源
    正宁老乡
    深蓝的智慧(RSS)
    清清月儿(RSS)
    英雄本色(RSS)
    邓大哥(RSS)
    金色海洋工作室
    高海东的专栏
    自娱自乐
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 C#也能动态生成Word文档并填充数据收藏

    新一篇: 经典采集代码之C# | 旧一篇: asp.net2.0密码强度验证

     要使用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, 123ref 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(11).Range.Text = "产品详细信息表";
                     newTable.Cell(
    11).Range.Bold = 2;//设置单元格中字体为粗体
                     
    //合并单元格
                     newTable.Cell(11).Merge(newTable.Cell(13));
                     WordApp.Selection.Cells.VerticalAlignment 
    = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中
                     WordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;//水平居中
                            
                     
    //填充表格内容
                     newTable.Cell(21).Range.Text = "产品基本信息";
                     newTable.Cell(
    21).Range.Font.Color = Word.WdColor.wdColorDarkBlue;//设置单元格内字体颜色
                     
    //合并单元格
                     newTable.Cell(21).Merge(newTable.Cell(23));
                     WordApp.Selection.Cells.VerticalAlignment 
    = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;

                      
    //填充表格内容
                      newTable.Cell(31).Range.Text = "品牌名称:";
                      newTable.Cell(
    32).Range.Text = BrandName;
                      
    //纵向合并单元格
                      newTable.Cell(33).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(
    121).Range.Text = "产品特殊属性";
                        newTable.Cell(
    121).Merge(newTable.Cell(123));
                         
    //在表格中增加行
                         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;
            }

    发表于 @ 2007年09月13日 18:41:00|评论(loading...)|编辑

    新一篇: 经典采集代码之C# | 旧一篇: asp.net2.0密码强度验证

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © mengyao