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来做报表输出,可以实现多样化的报表设计及输出,由于一般输出的内容比较正规化或者多数是表格居多,所以一般 ...
随机推荐
- Bi-LSTM+CRF在文本序列标注中的应用
传统 CRF 中的输入 X 向量一般是 word 的 one-hot 形式,前面提到这种形式的输入损失了很多词语的语义信息.有了词嵌入方法之后,词向量形式的词表征一般效果比 one-hot 表示的特征 ...
- Java中集合的初等案例
我有五个学生,请把这个学生的信息储存到数组中,并遍历数组,获取得到每一个学生信息. 学生:Strdent 成员变量:name,age 构造方法:无参,带参 成员方法:getXxx()/setXxx() ...
- Vue 3.0 Composition API - 中文翻译
Composition API 发布转载请附原文链接 https://www.cnblogs.com/zgh-blog/articles/composition_api.html 这两天初步了解了下 ...
- 关于go的入门书籍——go自学的序
说实话,许世伟的<GO语言编程>,承载的心血是轻易可见的.但是我更喜欢那种工具书,就是简单说明他干嘛她干嘛,就能干嘛干嘛··· 比如读张晏关于<取代Apache的高性能Web服务器& ...
- MySQL为某字段加前缀、后缀
在开发过程中,可能会遇到加前缀或者后缀的情况.比如为视频添加路径时,如果手动加起来肯定慢,而且比较不符合程序员的特点,我们就应该能让程序跑就不会手动加. 使用UPDATE sql 语句:update ...
- CG-CTF(6)
CG-CTF https://cgctf.nuptsast.com/challenges#Web 续上~ 第三十一题:综合题2 查看本CMS说明: 分析: ①数据库表名为admin:字段名为usern ...
- 在Spring Boot中配置web app
文章目录 添加依赖 配置端口 配置Context Path 配置错误页面 在程序中停止Spring Boot 配置日志级别 注册Servlet 切换嵌套服务器 在Spring Boot中配置web a ...
- 定了,这个vue.js开源项目,面试时,一定会考问
因为现在的网店,都是用的商城系统, 而实体店都是入座后,扫码打开网上商城进行选购(餐饮,超市等),所以,vue.js迅速开发网上购物商城系统成为了香饽饽, 本人开源2020年4月开发的购物商城系统, ...
- P1518 两只塔姆沃斯牛 The Tamworth Two(简单的搜索题)
题目描述 两只牛逃跑到了森林里.农夫John开始用他的专家技术追捕这两头牛.你的任务是模拟他们的行为(牛和John). 追击在10x10的平面网格内进行.一个格子可以是: 一个障碍物, 两头牛(它们总 ...
- 多源最短路径算法:Floyd算法
前言 由于本人太菜,这里不讨论Floyd的正确性. 简介 多源最短路径,解决的是求从图中任意两点之间的最短路径的问题. 分析 代码短小精悍,主要代码只有四行,直接放上: for(int k=1;k&l ...