word模板生成word报表文档

主要功能为根据word模板生成word报表文档,注意引用Interop.Word.dll;
首先要生成word程序对象
Word.Application app = new Word.Application();
根据模板文件生成新文件框架
File.Copy(TemplateFile, FileName);
生成documnet对象
ord.Document doc = new Word.Document();
        打开新文挡
        doc = app.Documents.Open(ref Obj_FileName, ref missing, ref ReadOnly, ref missing,
            ref missing, ref missing, ref missing, ref missing,
            ref missing, ref missing, ref missing, ref Visible,
            ref missing, ref missing, ref missing,
            ref missing);
        doc.Activate();
将光标定位到新的书签(模板中定义了书签的位置),下面代码为在光标位置输出一行,然后回车
        //光标转到书签
        for (int bookIndex = 0; bookIndex < 5; bookIndex++)
        {
            object BookMarkName = "BookMark" + bookIndex.ToString();
            object what = Word.WdGoToItem.wdGoToBookmark;
            doc.ActiveWindow.Selection.GoTo(ref what, ref missing, ref missing, ref BookMarkName);
            doc.ActiveWindow.Selection.TypeText("文明单位" + bookIndex.ToString() + "zaddd    25      大学");
            doc.ActiveWindow.Selection.TypeParagraph();
        }
输出完毕后,最后关闭doc对象
        object IsSave = true;
        doc.Close(ref IsSave, ref missing, ref missing);

完整事例代码如下:

using System;
using System.IO;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page 
{
    
protected void Page_Load(object sender, EventArgs e)
    {

    }
    
protected void Button1_Click(object sender, EventArgs e)
    {
        Word.Application app 
= new Word.Application();
        
//模板文件
        string TemplateFile = @"D:MyworkExcelReportsServerReportServerTempalteSmallList.doc";
        
//生成的具有模板样式的新文件
        string FileName = @"C:Documents and SettingsAdministrator桌面" + DateTime.Now.ToString("yyyyMMddHHmmssfffffff")+".doc";
        
//模板文件拷贝到新文件
        File.Copy(TemplateFile, FileName);
        Word.Document doc 
= new Word.Document();
        
object Obj_FileName = FileName;
        
object Visible = false;
        
object ReadOnly = false;
        
object missing = System.Reflection.Missing.Value;
        
//打开文件
        doc = app.Documents.Open(ref Obj_FileName, ref missing, ref ReadOnly, ref missing,
            
ref missing, ref missing, ref missing, ref missing,
            
ref missing, ref missing, ref missing, ref Visible,
            
ref missing, ref missing, ref missing,
            
ref missing);
        doc.Activate();

        
//光标转到书签
        for (int bookIndex = 0; bookIndex < 5; bookIndex++)
        {
            
object BookMarkName = "BookMark" + bookIndex.ToString();
            
object what = Word.WdGoToItem.wdGoToBookmark;
            doc.ActiveWindow.Selection.GoTo(
ref what, ref missing, ref missing, ref BookMarkName);
            doc.ActiveWindow.Selection.TypeText(
"文明单位" + bookIndex.ToString() + "zaddd    25      大学");
            doc.ActiveWindow.Selection.TypeParagraph();
        }
        
object IsSave = true;
        doc.Close(
ref IsSave, ref missing, ref missing);


        Response.Write(
"<script language='javascript'>alert('生成模板成功!')</script>");
    }
}

 

附:
光标到 书签Title 的位置
object BookMarkName="Title";
object what =Word.WdGoToItem.wdGoToBookmark;
Doc.ActiveWindow.Selection.GoTo(ref what ,ref missing,ref missing,ref BookMarkName);                       
在当前的光标写文本
Doc.ActiveWindow.Selection.TypeText("变更通知");

当前的光标换行
Doc.ActiveWindow.Selection.TypeParagraph();

当前的光标设置格式(举例 对齐方式)                                                              Doc.ActiveWindow.Selection.ParagraphFormat.Alignment=Word.WdParagraphAlignment.wdAlignParagraphRight;

注意 ParagraphFormat 是设置字体的格式的地方

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/388919.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

isql 测试mysql连接_[libco] 协程库学习,测试连接 mysql

历史原因&#xff0c;一直使用 libev 作为服务底层&#xff1b;异步框架虽然性能比较高&#xff0c;但新人学习和使用门槛非常高&#xff0c;而且串行的逻辑被打散为状态机&#xff0c;这也会严重影响生产效率。用同步方式实现异步功能&#xff0c;既保证了异步性能优势&#x…

什么是数据仓库,何时以及为什么要考虑一个

The term “Data Warehouse” is widely used in the data analytics world, however, it’s quite common for people who are new with data analytics to ask the above question.术语“数据仓库”在数据分析领域中被广泛使用&#xff0c;但是&#xff0c;对于数据分析新手来…

安装好MongoDB,但服务中没有MongoDB服务的解决办法

以管理员身份打开CMD&#xff0c;添加路径添加服务即可 winX 然后再选Amongod -dbpath "D:\MongoDB\Server\3.6\data\db" -logpath "D:\MongoDB\Server\3.6\data\log\mongo.log" -install -serviceName "MongoDB"转载于:https://www.cnblogs.com…

DRF数据验证+数据存储

1.验证数据的自定义类 class BooksDRFt(serializers.ModelSerializer):class Meta:model Bookfields __all__#要验证的字段author serializers.CharField(requiredFalse)#要验证的字段name serializers.CharField(min_length2, error_messages{required: 不能为空, min_len…

mysql变量 exec_MySQL slave_exec_mode 参数说明

背景&#xff1a;今天无意当中看到参数slave_exec_mode&#xff0c;从手册里的说明看出该参数和MySQL复制相关&#xff0c;是可以动态修改的变量&#xff0c;默认是STRICT模式(严格模式)&#xff0c;可选值有IDEMPOTENT模式(幂等模式)。设置成IDEMPOTENT模式可以让从库避免1032…

C#word

主要功能为根据word模板生成word报表文档,注意引用Interop.Word.dll;首先要生成word程序对象Word.Application app new Word.Application();根据模板文件生成新文件框架File.Copy(TemplateFile, FileName);生成documnet对象ord.Document doc new Word.Document(); 打开…

机器学习kaggle竞赛实战-泰坦尼克号

数据展示 首先登kaggle 下载泰坦尼克训练相关数据 import pandas as pd import numpy as np data pd.read_csv(train.csv) print(data.shape) print(data.head) train data[:800] test data[800:] print(train.shape) print(test.shape)选择特征 selected_features [Pcl…

上海大都会 H.A Simple Problem with Integers

题目描述 You have N integers A1, A2, ... , AN. You are asked to write a program to receive and execute two kinds of instructions: C a b means performing Ai (Ai2 mod 2018) for all Ai such that a ≤ i ≤ b.Q a b means query the sum of Aa, Aa1, ..., Ab. Note…

探索性数据分析入门_入门指南:R中的探索性数据分析

探索性数据分析入门When I started on my journey to learn data science, I read through multiple articles that stressed the importance of understanding your data. It didn’t make sense to me. I was naive enough to think that we are handed over data which we p…

用Javascript代码实现浏览器菜单命令(以下代码在 Windows XP下的浏览器中调试通过

每当我们看到别人网页上的打开、打印、前进、另存为、后退、关闭本窗口、禁用右键等实现浏览器命令的链接&#xff0c;而自己苦于不能实现时&#xff0c;是不是感到很遗憾&#xff1f;是不是也想实现&#xff1f;如果能在网页上能实现浏览器的命令&#xff0c;将是多么有意思的…

mysql程序设计教程_MySQL教程_编程入门教程_牛客网

MySQL 索引MySQL索引的建立对于MySQL的高效运行是很重要的&#xff0c;索引可以大大提高MySQL的检索速度。打个比方&#xff0c;如果合理的设计且使用索引的MySQL是一辆兰博基尼的话&#xff0c;那么没有设计和使用索引的MySQL就是一个人力三轮车。拿汉语字典的目录页(索引)打比…

学习笔记整理之StringBuffer与StringBulider的线程安全与线程不安全

关于线程和线程不安全&#xff1a; 概述 编辑 如果你的代码所在的进程中有多个线程在同时运行&#xff0c;而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的&#xff0c;而且其他的变量的值也和预期的是一样的&#xff0c;就是线程安全的。或者说…

python web应用_为您的应用选择最佳的Python Web爬网库

python web应用Living in today’s world, we are surrounded by different data all around us. The ability to collect and use this data in our projects is a must-have skill for every data scientist.生活在当今世界中&#xff0c;我们周围遍布着不同的数据。 在我们的…

NDK-r14b + FFmpeg-release-3.4 linux下编译FFmpeg

下载资源 官网下载完NDK14b 和 FFmpeg 下载之后&#xff0c;更改FFmpeg 目录下configure问价如下&#xff1a; SLIBNAME_WITH_MAJOR$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF) LIB_INSTALL_EXTRA_CMD$$(RANLIB)"$(LIBDIR)/$(LIBNAME)" SLIB_INSTALL_NAME$(SLI…

C# WebBrowser自动填表与提交

C# WebBrowser自动填表与提交 默认分类 2007-04-18 15:47:17 阅读57 评论0 字号&#xff1a;大中小 订阅 要使我们的WebBrowser具有自动填表、甚至自动提交的功能&#xff0c;并不困难。   假设有一个最简单的登录页面&#xff0c;输入用户名密码&#xff0c;点“登录”…

html中列表导航怎么和图片对齐_HTML实战篇:html仿百度首页

本篇文章主要给大家介绍一下如何使用htmlcss来制作百度首页页面。1)制作页面所用的知识点我们首先来分析一下百度首页的页面效果图百度首页由头部的一个文字导航&#xff0c;中间的一个按钮和一个输入框以及下边的文字简介和导航组成。我们这里主要用到的知识点就是列表标签(ul…

C# 依赖注入那些事儿

原文地址&#xff1a;http://www.cnblogs.com/leoo2sk/archive/2009/06/17/1504693.html 里面有一个例子差了些代码&#xff0c;补全后贴上。 3.1.3 依赖获取 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml;//定义…

asp.net core Serilog的使用

先贴上关于使用这个日志组件的一些使用方法&#xff0c;等有时间了在吧官方的文档翻译一下吧&#xff0c;现在真是没时间。 Serilog在使用上主要分为两大块&#xff1a; 第一块是主库&#xff0c;包括Serilog以及Serilog.AspNetCore&#xff0c;如果导入后一个的话会自动导入前…

在FAANG面试中破解堆算法

In FAANG company interview, Candidates always come across heap problems. There is one question they do like to ask — Top K. Because these companies have a huge dataset and they can’t always go through all the data. Finding tope data is always a good opti…

android webView的缓存机制和资源预加载

android 原生使用WebView嵌入H5页面 Hybrid开发 一、性能问题 android webview 里H5加载速度慢网络流量大 1、H5页面加载速度慢 渲染速度慢 js解析效率 js本身的解析过程复杂、解析速度不快&#xff0c;前端页面设计较多的js代码文件 手机硬件设备的性能 机型多&#xff0c;…