.net使用AsposeWord导出word table表格
本文为原创,转载请注明出处
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);
.net使用AsposeWord导出word table表格的更多相关文章
- C#通过模板导出Word(文字,表格,图片)
C#通过模板导出Word(文字,表格,图片) C#导出Word,Excel的方法有很多,这次因为公司的业务需求,需要导出内容丰富(文字,表格,图片)的报告,以前的方法不好使,所以寻找新的导出方法, ...
- 使用NPOI2.1.3.1版本导出word附带表格和图片
原文:http://www.cnblogs.com/afutureBoss/p/4074397.html?utm_source=tuicool&utm_medium=referral 最近项目 ...
- word模板导出的几种方式:第二种:C#通过模板导出Word(文字,表格,图片) 占位符替换
原文出处:https://www.cnblogs.com/ilefei/p/3508463.html 一:模板的创建 (注意文件后缀只能是.docx或.doct) 在需要位置 插入-文档部件-域, ...
- 前台导出Word文档思路步骤总结(freemarker)
1. 需求是导出word带表格,表格列数不变,行数由数据库的值决定: 2. 导出最开始想的是直接前端导出,使用了jquery-wordexport插件,导出后,表格边框全没了,无法使用: 3. 采用了 ...
- 记录一下表格用poi的导出word
也是网上找的代码http://53873039oycg.iteye.com/blog/2152009,但是横向合并单元格没成功.只能用很蠢的办法建立了好多table public void fillT ...
- PowerDesiger 15逆向生成工程E-R图及导出word表格
应用环境:win8(64位)+oracle10g(32位)服务端+PowerDesigner15 需求:oracle数据库中的表结构是web工程框架hibernate 自动生成,现需要将数据库中已有的 ...
- c#(.net) 导出 word表格
做了差不多一周的导出Word,现在把代码贴出来 : ExportWord.cs using System; using System.Collections.Generic; using Syst ...
- poi导出word表格详解 超详细了
转:非常感谢原作者 poi导出word表格详解 2018年07月20日 10:41:33 Z丶royAl 阅读数:36138 一.效果如下 二.js代码 function export_word( ...
- C# 导出word 表格代码
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
随机推荐
- 高性能网络编程(1)—accept建立连接(转载,作者:陶辉)
编 写服务器时,许多程序员习惯于使用高层次的组件.中间件(例如OO(面向对象)层层封装过的开源组件),相比于服务器的运行效率而言,他们更关注程序开发 的效率,追求更快的完成项目功能点.希望应用代码完全 ...
- mysql 手册关于修改列字符编码的一个bug
项目因为历史原因使用了 GBK编码,遇到非GBK编码字符时出现乱码问题,情况比较严重,暂时先打算修改 列的字符编码为 utf8mb4. 查看 mysql 手册: 用 GBK 编码转 utf8 进行说明 ...
- win10安装配置jdk的环境变量
换了个硬盘,用上了win10,发现win10安装好jdk之后,配置环境变量这个相对于win7和xp还是有那么一丢丢区别的,趁着夜色,随笔一记. 1.安装jdk之后,或者也可以用之前安装好的文件夹,先记 ...
- NopCommerce用core重写ef
最近看了NopCommerce源码,用core学习着写了一个项目,修改的地方记录下.项目地址 NopCommerce框架出来好久了.18年的第一季度 懒加载出来后也会全部移动到.net core.那么 ...
- 一步一步从原理跟我学邮件收取及发送 5.C语言的socket示例
说到 C 语言版本的程序,首先要解决的问题就是兼容性. 作为 20 年开发有 10 多年是在服务端的程序员,我深刻地感受到服务端平台的两极分化之严重,linux 派对 windows 那是超级的不屑一 ...
- 把织梦安装到子目录,不读取CSS 没有样式?
我在A5上找的一个模板,照着说明安装到根目录就正常,我想安装到子目录下面,结果很乱 应该是不读取CSS. {dede:global.cfg_templets_skin/}/style/about.cs ...
- 获取select中的值
分别使用javascript原生的方法和jquery方法<select id="test" name=""> <option value=&q ...
- css3图片动画旋转
body{ background-color:#021E36; text-align: center; } .container{margin:500px auto;} .round{position ...
- MyBatis的关于批量数据操作的测试
摘录自:http://www.linuxidc.com/Linux/2012-05/60863.htm MyBatis的前身就是著名的Ibatis,不知何故脱离了Apache改名为MyBatis.My ...
- cmd 指令
dir 展示当前文件夹内的文件 mkdir 创建文件夹 c: 访问C盘 (d: f:) cd\ 返回主文件 cd .. 返回上一文件夹 cd test 打开文件夹 访问文件夹 rd 删除文件夹 ...