本文为原创,转载请注明出处

1.前言

.net平台下导出word文件还可以使用Microsoft.Office.Interop和NPOI,但是这两者都有缺点,微软的Office.Interop组件需要程序运行的主机上安装office,至于NPOI,由于长期无人维护,BUG众多,各种对象和属性名的命名也十分混乱,不易读懂,在使用上带来一定的难度,因此为了规避这两者的缺点,目前最佳的选择是使用AsposeWord这个组件来导出word文件。

2.说明

下面是使用AsposeWord导出word表格的例子(源码在文末),其中AsposeWordHelper是对AsposeWord的使用方法进行了很简单的封装,读者熟悉其用法之后可以按照自己的习惯自行封装。

3.最终效果

4.使用方法简介

(1)创建Document对象并得到DocumentBuilder,向文档中添加内容主要使用它

 //创建文件对象
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

(2)设置段落格式:通过DocumentBuilder对象得到ParagraphFormat,使用ParagraphFormat设置段落格式(注:Document对象也可用于设置段落及表格格式,详细用法可参考Aspose官网的例子)

 //获取ParagraphFormat对象
var ph = builder.ParagraphFormat;
//文字对齐方式
ph.Alignment = ParagraphAlignment.Center;
// 单倍行距 = 12 , 1.5 倍 = 18
ph.LineSpacing = 12;

得到Font对象用于设置字体:

//获取Font对象
Font font = builder.Font;
//字体大小
font.Size = ;
//是否粗体
font.Bold = false;
//下划线样式,None为无下划线
font.Underline = Underline.None;

(3)添加正文:通过DocumentBuilder添加正文,

//添加文字
builder.Write("this is text");
//添加文字(带回车)
builder.Writeln("this is text with ln");
//添加回车
builder.Writeln();

(4)添加表格:通过DocumentBuilder添加表格,

//开始添加表格
builder.StartTable();
//开始添加第一行,并设置表格行高
RowFormat rowf = builder.RowFormat;
rowf.Height = ;
//插入一个单元格
builder.InsertCell();
//设置单元格是否水平合并,None为不合并
builder.CellFormat.HorizontalMerge = CellMerge.None;
//设置单元格是否垂直合并,None为不合并
builder.CellFormat.VerticalMerge = CellMerge.None;
//设置单元格宽
builder.CellFormat.Width = ;
//单元格垂直对齐方向
builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Center;
//单元格水平对齐方向
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
builder.CellFormat.FitText = true;//单元格内文字设为多行(默认为单行,会影响单元格宽)
//单元格内添加文字
builder.Write("this is a cell of row 1 line 1");
//结束第一行
builder.EndRow();
//继续添加表格第二行
...
//结束表格
builder.EndTable();

(5)最后,使用Document对象保存成word文件

//添加文件名,并保存为doc文件
string fileName = DateTime.Now.ToString("yyyy-MM-dd") + ".doc";
doc.Save(fileName);

源码地址:github打包下载

.net使用AsposeWord导出word table表格的更多相关文章

  1. C#通过模板导出Word(文字,表格,图片)

    C#通过模板导出Word(文字,表格,图片)   C#导出Word,Excel的方法有很多,这次因为公司的业务需求,需要导出内容丰富(文字,表格,图片)的报告,以前的方法不好使,所以寻找新的导出方法, ...

  2. 使用NPOI2.1.3.1版本导出word附带表格和图片

    原文:http://www.cnblogs.com/afutureBoss/p/4074397.html?utm_source=tuicool&utm_medium=referral 最近项目 ...

  3. word模板导出的几种方式:第二种:C#通过模板导出Word(文字,表格,图片) 占位符替换

    原文出处:https://www.cnblogs.com/ilefei/p/3508463.html 一:模板的创建   (注意文件后缀只能是.docx或.doct) 在需要位置 插入-文档部件-域, ...

  4. 前台导出Word文档思路步骤总结(freemarker)

    1. 需求是导出word带表格,表格列数不变,行数由数据库的值决定: 2. 导出最开始想的是直接前端导出,使用了jquery-wordexport插件,导出后,表格边框全没了,无法使用: 3. 采用了 ...

  5. 记录一下表格用poi的导出word

    也是网上找的代码http://53873039oycg.iteye.com/blog/2152009,但是横向合并单元格没成功.只能用很蠢的办法建立了好多table public void fillT ...

  6. PowerDesiger 15逆向生成工程E-R图及导出word表格

    应用环境:win8(64位)+oracle10g(32位)服务端+PowerDesigner15 需求:oracle数据库中的表结构是web工程框架hibernate 自动生成,现需要将数据库中已有的 ...

  7. c#(.net) 导出 word表格

    做了差不多一周的导出Word,现在把代码贴出来   : ExportWord.cs using System; using System.Collections.Generic; using Syst ...

  8. poi导出word表格详解 超详细了

    转:非常感谢原作者 poi导出word表格详解 2018年07月20日 10:41:33 Z丶royAl 阅读数:36138   一.效果如下 二.js代码 function export_word( ...

  9. C# 导出word 表格代码

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

随机推荐

  1. css3 样式 圆角

    第一次学习css3 现在总结一下,方便以后查看: 1.border-radius:25px; 这个用来增加圆角属性 2.CSS3边框阴影 在 CSS3 中,box-shadow 用于向方框添加阴影: ...

  2. [20160711][VS2012配置OpenCV2.4.9]

    相关说明 OpenCV是一套开源机器视觉库,用于简化机器视觉算法的开发与调试. 移植环境 操作系统:Win7 64位 移植软件:Visual Studio 2012 代码下载: https://sou ...

  3. Java排序算法分析与实现:快排、冒泡排序、选择排序、插入排序、归并排序(二)

    一.概述: 上篇博客介绍了常见简单算法:冒泡排序.选择排序和插入排序.本文介绍高级排序算法:快速排序和归并排序.在开始介绍算法之前,首先介绍高级算法所需要的基础知识:划分.递归,并顺带介绍二分查找算法 ...

  4. 百度分享到qq空间失败

    QQ做了限制的,localhost是不会返回结果的,要用正式域名访问就可以了

  5. webpack+vue项目实战(四,前端与后端的数据交互和前端展示数据)

    地址:https://segmentfault.com/a/1190000010063757 1.前言 今天要做的,就是在上一篇文章的基础上,进行功能页面的开发.简单点说呢,就是与后端的数据交互和怎么 ...

  6. SQL Constraints

    每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束. http://www.w3school.com.cn/sql/sql_unique.asp 另外相关:@On ...

  7. 【开发技术】视频URL采集

    http://www.joyplus.tv/joypluscms   志精

  8. python 爬取B站视频弹幕信息

    获取B站视频弹幕,相对来说很简单,需要用到的知识点有requests.re两个库.requests用来获得网页信息,re正则匹配获取你需要的信息,当然还有其他的方法,例如Xpath.进入你所观看的视频 ...

  9. junit设计模式--组合模式

    Composite,英语翻译下,复合,组合. 组合模式有时候又叫做部分-整体模式,它使我们在树形结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户 ...

  10. 布衣之路(一):VMware虚拟机+CentOS系统安装

    前言:布衣博主乃苦逼的Java程序猿一枚,虽然工作中不会涉及系统运维,但是开发的项目总还是要部署到服务器做一些负载均衡.系统兼容性测试.系统集成等等骚操作,而这些测试性的操作不可能直接SSH远程运维的 ...