欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

程序员文章站 2022-05-04 11:48:26
Aspose.Total是Aspose公司旗下的最全的一套office文档管理方案,它提供的原生API可以对Word、Excel、PDF、Powerpoint、Outlook、CAD、图片、3D、ZIP等超过100多种文件格式进行操作,还具有报表、二维码、GIS、任务等功能,可以使用C#(.NET/ ......

aspose.total是aspose公司旗下的最全的一套office文档管理方案,它提供的原生api可以对word、excel、pdf、powerpoint、outlook、cad、图片、3d、zip等超过100多种文件格式进行操作,还具有报表、二维码、gis、任务等功能,可以使用c#(.net/.net core/mono/xamarin...)、java、android、c++、nodejs、php、python等语言。

 

下面我使用asp.net core mvc 做一个从excel文件读取列表数据,并生成一个word文档,同时在word里面生成同样的列表和数据的例子。

建立项目

使用asp.net core mvc 模板建立一个web项目:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

 

安装 aspose.cells 和 aspose.words

然后通过nuget安装aspose.cells 和 aspose.words包,分别负责excel和word文档的操纵:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

安装好之后,可以试用该产品。

 

安装许可

如果有授权许可的话,可以通过几种方式把它应用到该项目中,我喜欢的方式是使用文件:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

把许可文件放在项目根目录,设置属性复制到输出文件夹:copy if newer。

 

在 program.cs里,添加以下代码,完成许可的设置:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

 

运行,如果能输出以下内容,说明许可安装成功了:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

 

 读取excel

为了方便,我直接把要读取的excel文件放在项目根目录下:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

 

 

 其内容如下:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

 

打开homecontroller,在privacy方法里进行实现,也就是我点击privacy菜单的时候,会读取该excel文件的内容并生成一个word文档:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

加载excel文件

aspose.cells允许你使用多种方式加载excel文件,这里我直接使用文件路径的方式:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

 

可以看到,一个excel文件就是一个workbook。而数据呢,实际是放在不同sheet(工作簿)里面,所以还需要锁定sheet。

workbook里面有个属性叫worksheets,它的类型是worksheetcollection,是一个集合,而这个集合实现了ilist<t>接口,所以可以通过索引的方式访问它的元素。

获取第一个sheet:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

 

读取单元格里的数据

现在就可以读取单元格里的数据了。

可以使用单元格的名称,例如 a2;或者行和列的索引等方式来访问单元格。

为了方便存储列表的数据,我建立了一个类,它的属性对应列表的列:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

 

然后我使用行列索引的方式来读取单元格的内容,并把内容存放到一个list里面,并传递到view:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

 

 下面是view的代码:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

 

 运行程序,点击privacy:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

可以看到数据从excel文件里成功的被读取了。

 

写入word文档 

在aspose里面,word文档对应的是document对象。

在document里面写内容,就需要使用documentbuilder:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

剩下的就是模拟我们平时操作word的一个过程。

首先我需要一个剧中的,字号较大的一个标题。我先设置字体,然后设置段落:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

这里字体是24号大,加粗,宋体,蓝色,没有下划线。

然后创建了一个段落,剧中的。

最后写了一行文字。

 

创建表格

创建表格首先需要调用documentbuilder.starttable.方法,然后使用documentbuilder.insertcell来插入单元格,使用 documentbuilder.endrow来结束每一行,最后使用documentbuilder.endtable来结束这个表格。

整个代码就像我们手绘表格一样:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

这里,首先我需要把字体改变成表格所需的大小。

然后开始一个格一个格的写入内容。

最后,在把table的宽度设为自适应窗口宽度。然后结束表格即可。

 

生成word文件

生成word文档的方式也是多种多样的,我这里直接生成文件:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

这里面我注入了iwebhostenvironment,用它找到项目根目录,然后把word文件生成在里面。

 

运行,文档已经生成成功:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

 

其内容如下:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

目前还差一个表头,所以我添加如下代码:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

这里我设置表头的字体是加粗的,表格其它内容的字体是不加粗的。

表头的背景色是浅灰色的。

 

最后的效果如下:

ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例