ASP.NET利用DOC模板导出Word

原创 2013年12月03日 22:10:26

首先创建DOC模板

 

再次,在项目中相关页面添加此重点方法

重点方法:

 private string PrintWord()
        {
            try
            {
                string templatePath = _SaveDocPath + "/Template/RPMB.doc";
                //生成的文档路径
                filePath = _SaveDocPath + "/HZM/";
                if (!Directory.Exists(filePath))
                    Directory.CreateDirectory(filePath);
                if (!File.Exists(templatePath)) return "error:服务器没有模版";

                filePath = filePath + DateTime.Now.ToString("yyyyMMddHHmmss") + ".doc";
                //copy一份
                File.Copy(templatePath, filePath, true);

                object oMissing = System.Reflection.Missing.Value;
                app = new Word.Application();
                app.Visible = false;
                object fileName = filePath;
                doc = app.Documents.Open(ref fileName,
               ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
               ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
               ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);

                if (doc == null)
                {
                    return "error:服务器没有打开Word";
                }
                //判断书签 //加入doc书签的方法
                if (doc.Bookmarks.Exists("KJJBJNF"))
                {
                    doc.Bookmarks["KJJBJNF"].Range.Text = DateTime.Now.ToString("yyyyMMddHHmmss").ToString() + "标题";
                }


                Word.Tables tabs1 = doc.Tables;
                if (tabs1 != null && tabs1.Count > 0)
                {
                    Word.Table dt_Word = tabs1[1];

                    string strsql = "select * from stuInfo";
                    DataTable dt_Stu = RunSQLReturnTable(strsql);
                    //默认从第2行开始,第1行为模板中的标头
                    int rowIdex = 2;
                    foreach (DataRow row in dt_Stu.Rows)
                    {
                        object miss = System.Reflection.Missing.Value;
                        dt_Word.Rows.Add(miss);

                        //将从数据库中查询的数据,此处进行循环加载即可

                        //1 .向单元格中添加数据
                        dt_Word.Cell(rowIdex, 1).Range.Text = row["No"].ToString();

                        //2. 设置该单元格中字体的对齐方式
                        dt_Word.Cell(rowIdex, 1).Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;

                        dt_Word.Cell(rowIdex, 2).Range.Text = row["Name"].ToString();
                        dt_Word.Cell(rowIdex, 3).Range.Text = row["Sex"].ToString();
                        dt_Word.Cell(rowIdex, 4).Range.Text = row["Age"].ToString();

                        // 3 .合并单元格Merge(行,列)
                        //dt_Word.Cell(rowIdex, 3).Merge(dt_Word.Cell(rowIdex, 4));

                        rowIdex++;
                    }
                }
                doc.Save();
                QuitWord();
            }
            catch (Exception ex)
            {
                QuitWord();
                return "error:" + ex.Message;
            }
            return "true";
        }


 

3.导出即可。

 

附加源码 http://download.csdn.net/detail/hugaozhuang/6652495

 

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Asp.net动态生成Word文档并填充数据

 操作步骤如下:首先要添加引用:        1、添加引用->COM->Microsoft Word 11.0 Object Library       2、在.cs文件中添加 using Word...

C#根据WORD模板生成WORD文档 C#网页打印

运行环境:WIN7 + iis6.1   开发环境:vs2012+SQL2005  问题1: http://axislover.blog.163.com/blog/static/10776515200...

ASP.NET导出页面内容至word文档

前台页面需要添加属性:EnableEventValidation="false" 导出事件主要代码:   [csharp] view plaincopyprint? ...

ASP.NET实现将网页内容输出到WORD并下载到本地

个人觉得要实现这个功能如果没有类库提供的几个关键函数,还是比较繁琐的。所以首先介绍几个将要在代码中使用的关键函数和参数,然后再说函数实现、注意问题等。关键函数:1.函数原型:Response.Appe...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

asp 页面数据导出为word或者excel

1. 快速导入方法: 在页面内加入下面的代码 EXCEL WORD

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

C#动态向Word模板插入表格

这几天写程序时遇到一个问题,就是需要你
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET利用DOC模板导出Word
举报原因:
原因补充:

(最多只允许输入30个字)