Aspose.Words对于Word的操作
对于word操作一般是对已有word模板的操作,直接新建的不考虑,网上教程很多,自己看吧
一般有以下几种办法(忘了具体几种了,一般情况下以下就够了)
1、通过书签替换
顾名思义,就是先定义一个书签,然后在书签的位置填进去相应的数据或图片,具体操作
1 >先在word上插入->书签->定义书签名
2 >在程序中使用
string tmppath = Server.MapPath("~/" + path);Document doc = new Document(tmppath);Document doc = new Document(tmppath); //载入模板 Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc); builder.MoveToBookmark("zy");//跳转到书签名是zy的位置 builder.Write("书签位置要替换的文字");
doc.Range.Replace(Key, Value, false, false);
图片还有一个根据位置定位到某个位置然后粘贴,实例如下
builder.InsertImage(img, RelativeHorizontalPosition.Page, left, RelativeVerticalPosition.TopMargin, 0, width, height, WrapType.None);
参数具体含义有很明了,就不说了。
2、通过表格单元格替换
一般word模板里边基本就是表格,所以对表格的操作很重要
先找到相应的表格
Document doc = new Document(tmppath); //载入模板 Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc); NodeCollection allTables = doc.GetChildNodes(NodeType.Table, true); Table table = allTables[0] as Aspose.Words.Tables.Table;//拿到第一个表格
然后对表格进行操作,但是默认的表格的单元格是只可读的,于是我想出一个办法,就是先取到单元格A存储到一个新建的单元格对象单元格B里面,然后修改单元格B,最后删除单元格A并且把单元格B添加到单元格A中,这样就完美的替换了单元格了,而且原来单元格的宽高都不用在调整了,于是我把它封装成了一个方法示例如下
/// <summary>/// 修改表中的数据/// </summary> /// <param name="table">表名</param> /// <param name="doc">文档</param> /// <param name="row">要修改行</param> /// <param name="cell">要修改列</param> /// <param name="value">修改后的值</param> private static Table EditCell(Table table, Document doc, int row, int cell, string value) { Cell c = table.Rows[row].Cells[cell]; Paragraph p = new Paragraph(doc); p.AppendChild(new Run(doc, value)); p.ParagraphFormat.Style.Font.Size = 10; p.ParagraphFormat.Style.Font.Name = "华文楷体"; c.FirstParagraph.Remove(); c.AppendChild(p); table.Rows[row].Cells[cell].Remove(); table.Rows[row].Cells.Insert(cell, c); return table; }
3 >就是删除原来的单元格然后再添加一个新建的单元格,然后自定义属性(宽高等)
这个不推荐,只是原来没有想好2方法的替代品,是老版本,但是还是显示一下吧,纪念自己的努力
方法如下
private static Aspose.Words.Tables.Cell CreateCell(string value, Document doc, double cellwidth){Aspose.Words.Tables.Cell c1 = new Aspose.Words.Tables.Cell(doc); c1.CellFormat.Width = cellwidth; c1.CellFormat.Borders.LineStyle = LineStyle.Single; //c1.CellFormat.WrapText = false; Aspose.Words.Paragraph p = new Paragraph(doc); p.AppendChild(new Run(doc, value)); //Table table = new Table(doc); //p.AppendChild(table); p.ParagraphFormat.Style.Font.Size = 10; p.ParagraphFormat.Style.Font.Name = "华文楷体"; c1.AppendChild(p); return c1; }
4 >添加数据到单元格,只适用于表格,很是推荐,很好用,具体就是直接向某个表格的某一行的某一列添加值,示例如下:
builder.MoveToCell(0, 31, 1, 0);//先跳转到第0个表格,第31行,第1列 builder.Write("要写入的数据"); 原文地址:http://www.cnblogs.com/itljf/p/5859445.html
破解aspose.words.dll
http://download.csdn.net/detail/u013178416/9739380
Aspose.Words对于Word的操作相关推荐
- .net 使用 Aspose.Words 进行 Word替换操作
.net 使用 Aspose.Words 进行 Word替换操作 原文 http://www.cnblogs.com/codealone/archive/2013/04/02/2995224.html ...
- Aspose.Java实现word转pdf,添加水印等操作
Aspose.Java实现word转pdf,添加水印等操作 一. word转pdf 二. 文档插入水印 Aspose是一款商用版控件,支持各类文档操作,这里主要介绍如何在Springboot项目中使用 ...
- Aspose Word常用操作
Aspose Word常用操作 使用Aspose Word操作模版 创建Document对象 常用方法 使用Aspose Word操作模版 刚好最近学到Aspose Word,有些心得,记录下来.下面 ...
- aspose关于excel和word的操作
aspose关于文档的操作 1.word拼接,word插入文字和图片 2.excel拼接,excel插入文字和图片 3.Java后台解析HTML 详情如下: 1.word拼接,word插入文字和图片 ...
- 用Aspose.Words 从Word文档中提取表格数据
用Aspose.Words 从Word文档中提取表格数据 对于某些项目,开发人员需要从Word文档中提取数据并导出到数据库.最大的挑战是必须支持现有Word文档. 相同格式且带多个数据块的Word文档 ...
- aspose win/linux WORD转PDF(及其解决乱码方式)
aspose win/linux WORD转PDF(及其解决乱码方式) 1.工具类 2.控制台 3.解决乱码 4.JAR包 之前自己用的docm4j 本地进行转换是ok 在服务器中就异常了: 后来在网 ...
- Aspose工具实现word和ppt转pdf功能及遇到的一些问题
Aspose工具包从word和ppt转到pdf的实现过程 直接放项目地址 说一下实现过程中遇到的坑 直接放项目地址 https://github.com/lichangliu1098/File2Pdf ...
- 计算机硬件Word,[计算机硬件及网络]word的操作.doc
[计算机硬件及网络]word的操作.doc Office Word 2010高级应用技术长文档排版一.考查知识点内置样式修改与使用.新建样式.题注.交叉引用.脚注与尾注.目录.图表目录.分节符的使用. ...
- python怎么重命名word文件,Python读取word文本操作详解
本文研究的主要问题时Python读取word文本操作,分享了相关概念和实现代码,具体如下. 一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就 ...
最新文章
- Util应用程序框架公共操作类(八):Lambda表达式公共操作类(二)
- Android中Toast的用法简介
- sts引入lombok_Spring Boot中lombok的安装与使用详解
- 编译时错误之 error C2338: tuple_element index out of bounds
- iscsi:IO操作流程(一)
- 移动硬盘无法访问,要怎么找到文件
- Pwn2Own 2022迈阿密大赛落幕 去年春季赛冠军蝉联Master of Pwn
- 利用对象字面量创建对象
- linux命令(56):环境变量:/etc/profile、/etc/bashrc 、~/.profile、~/.bashrc
- LightGBM-GBDT-LR使用树集合进行特征转换
- FFT中的频谱泄露现象分析
- UiBot 网页数据抓取
- python学习笔记-修改pip下载源-创建虚拟环境
- 论文笔记(二十二):Soft Tracking Using Contacts for Cluttered Objects to Perform Blind Object Retrieval
- 连接mysql报错Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zon
- win10上启用HEIF文件缩略图显示 - 删除没用的微软内置HEIF组件 - 安装开源免费的三方HEIF组件CopyTransHEIC
- php curl简单采集图片生成base64编码(并附curl函数参数说明)
- 国密算法 SM2 SM3 SM4 及密钥生成
- MATLAB 语言基础知识 矩阵和数组 创建、串联和扩展矩阵
- 你要的并不是ChatGPT,而是强大和经济的算力
热门文章
- Xcode4.4 import header 的问题解决方法
- 【python】字符串的操作与方法、元组的定义与操作
- CentOS网络配置与重启方法
- 关于Web端-UI自动化测试
- 免费linux 脚本,替换xshell,说一下一些免费的shell工具
- linux系统管理命令使用,Linux系统管理命令使用说明
- springboot做网站_SpringBoot项目实战(3):整合Freemark模板
- JavaScript 学到什么程度可以学 Node.js?
- mysql主从延迟_MySQL主从同步个般是多久的延迟?
- vue可以多次导入吗_vue组件怎么复用,比如有abc三个组件,b是可复用组件,引入到a和c中,但是怎么才能在a和c中的数?...