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来做报表输出,可以实现多样化的报表设计及输出,由于一般输出的内容比较正规化或者多数是表格居多,所以一般 ...
随机推荐
- 用SQL查询分析实现类似金蝶K3的收发存明细表
使用SQL查询分析实现类收发存的报表,原始需求在 另外一篇文章 的第四部分.下图是实现需求. 一.准备 删除临时表 [buy]判断是否存在临时表,存在则删除[/buy] if OBJECT_ID('t ...
- 使用 Junit + Mockito 实践单元测试
一.前言 相信做过开发的同学,都多多少少写过下面的代码,很长一段时间我一直以为这就是单元测试... @SpringBootTest @RunWith(SpringRunner.class) publi ...
- SSL/TLS 漏洞“受戒礼”,RC4算法关闭
SSL/TLS 漏洞"受戒礼" 一.漏洞分析 事件起因 2015年3月26日,国外数据安全公司Imperva的研究员Itsik Mantin在BLACK HAT ASIA 2015 ...
- linux find string in files
http://blog.csdn.net/duguduchong/article/details/7716908 查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri ...
- thymeleaf 模板语法
模板语法 如何在 script 标签体内部使用 th 获取后端数据 添加如下属性 <script type="text/javascript" th:inline=" ...
- Libra教程之:Libra protocol的逻辑数据模型
文章目录 Libra protocol简介 逻辑数据模型 账本状态 交易 账本历史 Libra protocol简介 Libra区块链本质上是一个加密数据库,这个数据库是通过Libra protoco ...
- 【Linux常见命令】vi,vim命令
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...
- jQuery dataTables四种数据来源[转]
2019独角兽企业重金招聘Python工程师标准>>> 四种数据来源 对于 dataTables 来说,支持四种表格数据来源. 最为基本的就是来源于网页,网页被浏览器解析为 DOM ...
- Vant Weapp小程序蹲坑之使用card组件显示价格
问题 在基于mpvue+Vant Weapp组件库实战过程中,问题越来越多.网络上所谓的"坑"总结,仅仅不过是其开发中所遭所遇之"坑"而已--估计后面的&quo ...
- CCF NOI1039 2的n次方
问题链接:CCF NOI1039 2的n次方. 时间限制: 1000 ms 空间限制: 262144 KB 题目描述 对于任意给定的n,计算2的n次方. 输入 输入整数n. 输出 输出2的n次方的值 ...