在工作中有时需要把内容用word文档展示出来

在写代码前要引用word的dll

Microsoft.Office.Interop.Word“

 sing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Word = Microsoft.Office.Interop.Word;
private void btnBroweOutput_Click(object sender, EventArgs e)
{ object Nothing = System.Reflection.Missing.Value;
object missing = System.Reflection.Missing.Value;
//创建word文档
Word.Application wordApp = new Word.ApplicationClass();
Word.Document wordDoc = wordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing); //设置文档宽度
wordApp.Selection.PageSetup.LeftMargin = wordApp.CentimetersToPoints(float.Parse(""));
wordApp.ActiveWindow.ActivePane.HorizontalPercentScrolled = ;
wordApp.Selection.PageSetup.RightMargin = wordApp.CentimetersToPoints(float.Parse(""));
Object start = Type.Missing;
Object end = Type.Missing;
wordDoc.Range(ref start, ref end).Font.Name = "Verdana"; //设置字体
wordDoc.Range(ref start, ref end).Font.Size = ; //设置字体大小
wordDoc.Range(ref start, ref end).ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter; //设置字体局中 //文档中创建表格
Word.Table newTable = wordDoc.Tables.Add(wordApp.Selection.Range, , , ref Nothing, ref Nothing);
//设置表格样式
newTable.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleDouble; //设置外边样式
newTable.Borders.InsideLineStyle = Word.WdLineStyle.wdLineStyleSingle; //设置内边样式
newTable.Columns[].Width = 80f; // 设置表格宽度
newTable.Columns[].Width = 90f;
newTable.Columns[].Width = 80f;
newTable.Columns[].Width = 90f;
newTable.Columns[].Width = 90f;
newTable.Rows.Height = ; // 设置表格高度
for (int i = ; i < MyDs.Tables[].Rows.Count; i++)
{
//填充表格内容
newTable.Cell(, ).Range.Text = "职工编号:";
newTable.Cell(, ).Range.Text = txt职工编号.Text;
newTable.Cell(, ).Range.Text = "职工姓名:";
newTable.Cell(, ).Range.Text = txt职工姓名.Text;
newTable.Cell(, ).Range.Text = "民族类别:";//cbox民族
newTable.Cell(, ).Range.Text = cbox民族.Text;
newTable.Cell(, ).Range.Text = "出生日期:";
newTable.Cell(, ).Range.Text = mBox出生日期.Text;
newTable.Cell(, ).Range.Text = "年龄:";
newTable.Cell(, ).Range.Text = txt年龄.Text;
newTable.Cell(, ).Range.Text = "文化程度:";
newTable.Cell(, ).Range.Text = cbox文化程度.Text;
newTable.Cell(, ).Range.Text = "婚姻:";
newTable.Cell(, ).Range.Text = cbox婚姻.Text;
newTable.Cell(, ).Range.Text = "性别:";
newTable.Cell(, ).Range.Text = cbox性别.Text;
newTable.Cell(, ).Range.Text = "政治面貌:";
newTable.Cell(, ).Range.Text = cbox政治面貌.Text;
newTable.Cell(, ).Range.Text = "工作时间:";
newTable.Cell(, ).Range.Text = mBox工作时间.Text;
newTable.Cell(, ).Range.Text = "籍贯:";
newTable.Cell(, ).Range.Text = cbox省.Text + "省" ;
newTable.Cell(, ).Range.Text = cbox市.Text + "市";
newTable.Cell(, ).Range.Text = "身份证号:";
newTable.Cell(, ).Range.Text = txt身份证.Text;
newTable.Cell(, ).Range.Text = "职称类别:";
newTable.Cell(, ).Range.Text = cbox职称类别.Text;
newTable.Cell(, ).Range.Text = "所在部门:";
newTable.Cell(, ).Range.Text = cbox所在部门.Text;
newTable.Cell(, ).Range.Text = "月工资:";
newTable.Cell(, ).Range.Text = txt月工资.Text + label27.Text;
newTable.Cell(, ).Range.Text = "银行账号:";
newTable.Cell(, ).Range.Text = txt银行账号.Text;
newTable.Cell(, ).Range.Text = "合同起始日期:";
newTable.Cell(, ).Range.Text = mBox合同开始.Text;
newTable.Cell(, ).Range.Text = "合同结束日期:";
newTable.Cell(, ).Range.Text = mBox合同结束.Text;
newTable.Cell(, ).Range.Text = "合同年限:";
newTable.Cell(, ).Range.Text = txt合同年限.Text;
newTable.Cell(, ).Range.Text = "工龄:";
newTable.Cell(, ).Range.Text = txt工龄.Text + "年";
newTable.Cell(, ).Range.Text = "手机:";
newTable.Cell(, ).Range.Text = txt手机.Text;
newTable.Cell(, ).Range.Text = "毕业时间:";
newTable.Cell(, ).Range.Text = mBox毕业时间.Text;
newTable.Cell(, ).Range.Text = "电话:";
newTable.Cell(, ).Range.Text = txt电话号.Text;
newTable.Cell(, ).Range.Text = "毕业学院:";
newTable.Cell(, ).Range.Text = txt毕业学校.Text;
newTable.Cell(, ).Range.Text = "主修专业:";
newTable.Cell(, ).Range.Text = txt主修专业.Text;
newTable.Cell(, ).Range.Text = "家庭住址:";
newTable.Cell(, ).Range.Text = txt家庭地址.Text; try
{
//合并单元格
newTable.Cell(, ).Merge(newTable.Cell(, ));
newTable.Cell(, ).Merge(newTable.Cell(, ));
newTable.Cell(, ).Merge(newTable.Cell(, ));
newTable.Cell(, ).Merge(newTable.Cell(, ));
newTable.Cell(, ).Merge(newTable.Cell(, ));
newTable.Cell(, ).Merge(newTable.Cell(, ));
newTable.Cell(, ).Merge(newTable.Cell(, ));
newTable.Cell(, ).Merge(newTable.Cell(, ));
newTable.Cell(, ).Merge(newTable.Cell(, ));
newTable.Cell(, ).Merge(newTable.Cell(, ));
wordApp.Selection.Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中
wordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;//水平居中
wordApp.Visible = true; // 显示word文档
}
catch
{
}
}
}

c#word文档输出的更多相关文章

  1. c#中操作word文档-一、模板方式写入

    转载自:http://blog.csdn.net/fujie724/article/details/5443322 适合模板写入 今天正好有人问我,怎么生成一个报表式的Word文档. 就是文字的样式和 ...

  2. 基于springboot的freemarker创建指定格式的word文档

    在web或其他应用中,经常我们需要导出或者预览word文档,比较实际的例子有招聘网站上预览或者导出个人简历,使用POI导出excel会非常的方便,但是如果想导出word,由于其格式控制非常复杂,故而使 ...

  3. C#简单实现动态数据生成Word文档并保存

    今天正好有人问我,怎么生成一个报表式的Word文档. 就是文字的样式和位置相对固定不变,只是里面的内容从数据中读取. 我觉得类似这种的一般用第三方报表来做比较简便.但既然要求了Word,只好硬着头皮来 ...

  4. JSP实现word文档的上传,在线预览,下载

    前两天帮同学实现在线预览word文档中的内容,而且需要提供可以下载的链接!在网上找了好久,都没有什么可行的方法,只得用最笨的方法来实现了.希望得到各位大神的指教.下面我就具体谈谈自己的实现过程,总结一 ...

  5. 批量导出access某表内容到word文档

    一.需求: 需要将表中每一条记录中的某些内容导出在一个word文档中,并将这些文档保存在指定文件夹目录下 二.界面,简单设计如下: 三.添加office相关引用 添加后可在解决方案资源管理器中看到: ...

  6. POI生成WORD文档

    h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...

  7. 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出

    我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的 ...

  8. JSP利用freemarker生成基于word模板的word文档

    利用freemarker生成基于word模板的word文档 freemarker简介 FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器 ...

  9. 利用Aspose.Word控件实现Word文档的操作

    Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及输出,由于一般输出的内容比较正规化或者多数是表格居多,所以一般 ...

随机推荐

  1. kubernetes的Statefulset介绍

    StatefulSet是一种给Pod提供唯一标志的控制器,他可以保证部署和扩展的顺序. Pod一致性 包含次序(启动和停止次序).网络一致性.此一致性和Pod相关.与被调度到哪个Node节点无关. 稳 ...

  2. python爬虫面试题集锦及答案

    1.爬取数据后使用哪个数据库存储数据的,为什么? - 2.你用过的爬虫框架或者模块有哪些?优缺点? - 3.写爬虫是用多进程好?还是多线程好? - 4.常见的反爬虫和应对方法? - 5.需要登录的网页 ...

  3. php sprintf() 函数把格式化的字符串写入一个变量中。

    来源:https://blog.csdn.net/zxh1220/article/details/79709207 HP sprintf() 函数用到的参数 printf — 输出格式化字符串 spr ...

  4. PHP(ThinkPHP5.0) + PHPMailer 进行邮箱发送验证码

    GitHub下载最新版第三方类库PHPMailer: 第一步: 打开网址https://github.com/PHPMailer/PHPMailer/ 下载PHPMailer,PHPMailer 需要 ...

  5. REDHAT7进入单用户模式

    Redhat7采用的是grub2,和Redhat6.x进入单用户的方法不同. 一.init方法 1.centos7的grub2界面会有两个入口,正常系统入口和救援模式: 2.修改grub2引导 在正常 ...

  6. 01-Vue初学习

    1. Vue下载 (1)网址:https://cn.vuejs.org/v2/guide/installation.html (2)点击开发版本,下载完成是一个 Vue.js 2. 使用 (1)创建文 ...

  7. Neditor 2.1.16 发布,修复缩放图片问题

    开发四年只会写业务代码,分布式高并发都不会还做程序员?   BUG 修复 修复缩放图片时,鼠标mouseUp后图片还是在缩放 by @ShinyHwong Demo:  https://demo.ne ...

  8. 第七周CorelDRAW课总结

    1.这节课学到了什么知识? "交互式透明工具""交互式阴影工具"以及"交互式调和工具"制作水晶表情包. 2.有什么心得体会? 无 3.存在的 ...

  9. iOS开发·runtime原理与实践: 消息转发篇(Message Forwarding) (消息机制,方法未实现+API不兼容奔溃,模拟多继承)...

    本文Demo传送门: MessageForwardingDemo 摘要:编程,只了解原理不行,必须实战才能知道应用场景.本系列尝试阐述runtime相关理论的同时介绍一些实战场景,而本文则是本系列的消 ...

  10. Heartbeat+Haproxy实现负载均衡高可用

    环境说明: 主机名 角色 IP地址 mylinux1.contoso.com heartbeat+haproxy eth0:192.168.100.121 eth1:172.16.100.121 my ...