Aspose.Words对于Word的操作

对于word操作一般是对已有word模板的操作,直接新建的不考虑,网上教程很多,自己看吧
一般有以下几种办法(忘了具体几种了,一般情况下以下就够了)
1、通过书签替换
顾名思义,就是先定义一个书签,然后在书签的位置填进去相应的数据或图片,具体操作
1 >先在word上插入->书签->定义书签名
2 >在程序中使用

Document doc = new Document(tmppath); //载入模板
Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc);
builder.MoveToBookmark("zy");//跳转到书签名是zy的位置
builder.Write("书签位置要替换的文字");

图片还有一个根据位置定位到某个位置然后粘贴,实例如下

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("要写入的数据");

注意:行和列都是从0开始的,不是从1开始的
5 >通过替换域名的方法
和书签的方法相似,但是。。。。我不会,自己百度吧。。。哈哈哈哈哈

其他:我还准备做一个小例子,过会传上来

时间: 2024-10-11 19:49:05

Aspose.Words对于Word的操作的相关文章

.net 使用 Aspose.Words 进行 Word替换操作

.net 使用 Aspose.Words 进行 Word替换操作

Word Excel 操作总结

1.与office无关使用 Aspose.Cells.dll,Aspose.Words.dll 2.使用Microsoft.Office.Interop.Excel Microsoft.Office.Interop.Word 3.打开文件 WORD: object oMissing = Missing.Value;_Application app = new Application();_Document currentDoc = null;app.Visible = false;current

在C#中使用Spire.doc对word的操作总结

在C#中使用Spire.doc对word的操作总结 在最近的工程中我们要处理一些word文档.通过在网上的大量搜索,我发现大多数软件功能不是不完整就是有重复.极少数可以完全实现的word组件又要收费.功夫不负有心人,终于找到了可以满足我们需要的免费的C# word程序库.为了和其他的作比较,我在这里先做以下汇总.希望对大家有帮助. 如何得到? 这个免费版的word 组件可以在Codeplex下载到,你也可以从本文里直接下载msi文件.它还提供了一些源代码. Word操作汇总 1.        

C#创建word,操作、读写

要使用C#操作word,首先要添加引用: 1.添加引用->COM->Microsoft Word 11.0 Object Library 2.在.cs文件中添加 using Word;下面的例子中包括C#对Word文档的创建.插入表格.设置样式等操作:(例子中代码有些涉及数据信息部分被省略,重要是介绍一些C#操作word文档的方法) public string CreateWordFile(string CheckedInfo) { string message = "";

使用Aspose组件将WORD、PDF、PPT转为图片

using System; using System.Collections.Generic; using System.Text; using OMCS.Engine.WhiteBoard; using ESBasic; using System.Drawing.Imaging; using System.IO; using System.Drawing; using Schematrix; namespace OMCS.Demos.WhiteBoardTest { /**//* * * 将p

扫描文件转换成word怎样操作更简单?

Word是我们在工作中使用最较多的一个工具,如果我们有一些资料文件是图片形式的,上级需要我们将其整理成word文件.大家知道该怎样整理么?不会的小伙伴可以试试小编以下的操作哟!步骤一:扫描文件转word其实是一种很实用的工作技巧,在我们进行对应的操作之前,要在电脑上,下载安装好最新版本的图片转文字的工具.这样我们才能更加简单的进行以下的操作.步骤二:打开安装好的工具,使OCR文字识别软件进入到后台运行的状态.接下来就可以进行扫描文件转word的操作了.步骤三:当我们进入到该工具的界面后,在左侧版

利用Aspose.Words处理Word文档之间的转换和内容操作

一.概述:Aspose.Words是一个商业.NET类库,可以使得应用程序处理大量的文件任务.Aspose.Words支持Doc,Docx,RTF,HTML,OpenDocument,PDF,XPS,EPUB和其他格式.使用Aspose.Words可以在不使用Microsoft.Word的情况下生成.修改.转换和打印文档.二.功能简介:1.Aspose.Words具有高质量的文件格式转换功能,可以和Doc,OOXL,RTF,TXT等格式互相转换.2.通过丰富的API以编程方式访问所有的文档元素和

隐藏的Word快捷键操作

原文地址:http://tieba.baidu.com/p/4163778583 原文来自于: 新文咖从会用电脑开始,Microsoft Office Word就是我们最常用的软件.靠着它,我们写论文.写方案.写情书.写故事-但是,你真的懂Word吗?其实,这个软件背后,还有一大批隐藏技能你不知道.掌握他们,你将开启新世界的大门.前方高能,小伙伴们请站稳扶好.1.妙用Alt键Alt是单词"Alter"的缩写,意思为"改变".在Windows操作平台下,Alt键可谓是

Lucene对office的word, Excel操作

首先说明Lucene如果想对office进行操作的话,需要额外的包 这里有几种方法 一是使用POI 二是使用jacob 这里的代码使用的是jacob对于word进行处理 代码: package jacob; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.Dispatch... http://www.songtaste.com/user/10270371/infohttp://www.songtaste.com/us