c#word文档输出
在工作中有时需要把内容用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文档输出的更多相关文章
- c#中操作word文档-一、模板方式写入
转载自:http://blog.csdn.net/fujie724/article/details/5443322 适合模板写入 今天正好有人问我,怎么生成一个报表式的Word文档. 就是文字的样式和 ...
- 基于springboot的freemarker创建指定格式的word文档
在web或其他应用中,经常我们需要导出或者预览word文档,比较实际的例子有招聘网站上预览或者导出个人简历,使用POI导出excel会非常的方便,但是如果想导出word,由于其格式控制非常复杂,故而使 ...
- C#简单实现动态数据生成Word文档并保存
今天正好有人问我,怎么生成一个报表式的Word文档. 就是文字的样式和位置相对固定不变,只是里面的内容从数据中读取. 我觉得类似这种的一般用第三方报表来做比较简便.但既然要求了Word,只好硬着头皮来 ...
- JSP实现word文档的上传,在线预览,下载
前两天帮同学实现在线预览word文档中的内容,而且需要提供可以下载的链接!在网上找了好久,都没有什么可行的方法,只得用最笨的方法来实现了.希望得到各位大神的指教.下面我就具体谈谈自己的实现过程,总结一 ...
- 批量导出access某表内容到word文档
一.需求: 需要将表中每一条记录中的某些内容导出在一个word文档中,并将这些文档保存在指定文件夹目录下 二.界面,简单设计如下: 三.添加office相关引用 添加后可在解决方案资源管理器中看到: ...
- POI生成WORD文档
h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...
- 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出
我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的 ...
- JSP利用freemarker生成基于word模板的word文档
利用freemarker生成基于word模板的word文档 freemarker简介 FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器 ...
- 利用Aspose.Word控件实现Word文档的操作
Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及输出,由于一般输出的内容比较正规化或者多数是表格居多,所以一般 ...
随机推荐
- 【AspNetCore源码】设计模式 - 提供者模式
AspNetCore源代码发现日志模块的设计模式(提供者模式),特此记录 学习设计模式的好处是,我们可以容易扩展它达到我们要求,除了要知道如何扩展它,还应该在其他地方应用它 类图 & 分析 角 ...
- php的echo 和 return的区别
来源:https://blog.csdn.net/ljfphp/article/details/76718635 项目中碰到的问题,本来是想在控制器直接return $xml的($xml是一段xml格 ...
- TP5 JSON对象数组转换为普通数组
来源于:https://blog.csdn.net/lingchen__/article/details/67671047 使用TP5框架做项目时,对于数据的查询返回的都是对象,虽然也可以当做普通的数 ...
- 20199310《Linux内核原理与分析》第十二周作业
1.问题描述 2014年9月24日,Bash中发现了一个严重漏洞shellshock,该漏洞可用于许多系统,并且既可以远程也可以在本地触发.在本实验中,通过学习重现攻击该漏洞,加深对于ShellSho ...
- Spring Boot中使用Swagger CodeGen生成REST client
文章目录 什么是Open API规范定义文件呢? 生成Rest Client 在Spring Boot中使用 API Client 配置 使用Maven plugin 在线生成API Spring B ...
- 算法竞赛进阶指南--快速幂,求a^b mod p
// 快速幂,求a^b mod p int power(int a, int b, int p) { int ans = 1; for (; b; b >>= 1) { if (b &am ...
- DP 60题 -3 HDU1058 Humble Numbers DP求状态数的老祖宗题目
Humble Numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- unittest(@classmethod 装饰器)
1.前言: 前面讲到unittest里面setUp可以在每次执行用例前执行,这样有效的减少了代码量,但是有个弊端,比如打开浏览器操作,每次执行用例时候都会重新打开,这样就会浪费很多时间. 于是就想是不 ...
- andorid jar/库源码解析之Butterknife
目录:andorid jar/库源码解析 Butterknife: 作用: 用于初始化界面控件,控件方法,通过注释进行绑定控件和控件方法 栗子: public class MainActivity e ...
- Java笔记(day23-day26)
IO流1,复制一个文本文件. 1,明确体系: 源:InputStream ,Reader 目的:OutputStream ,Writer 2,明确数据: ...