Aspose使用方法

  • Post author:
  • Post category:其他


最近用到Aspose这个控件,是商业控件,有限制的版本用着还是不爽的..所以我找了个破解版的…

下面是几句常用到的操作EXCEL和PPT的,目前还是刚会用,慢慢研究先…

操作EXCEL的

Workbook workbook = new Workbook();

workbook.Open(path);        //打开EXCEL

Cells cells;

cells = workbook.Worksheets[0].Cells;

操作PPT的

Aspose.Slides.Shape shape = slide.Shapes.AddRectangle(0, 0, 500, 500);

Aspose.Slides.TextFrame frame = shape.AddTextFrame(“text”); //添加文字

Word转换成PDF文件

最近正好在使用aspose的控件,于是想看看Aspose.PDF能不能将word文件转换成PDF文件。于是去aspose的官网上查了下文档,Aspose.PDF无法直接转换word文档,需要先有个中间步骤。就是先把word转换成XML格式的文件,再使用Aspose.PDF绑定这个XML,再保存为PDF格式。如果word文档中有图片,则生成XML的时候会在临时文件夹中生成图片。

代码如下:

程序代码
程序代码

Aspose.Words.Document doc = new Aspose.Words.Document(“test2.docx”);

//将文件保存为Aspose.Pdf.Xml格式

doc.Save(“MyDocument.xml”, SaveFormat.AsposePdf);

Aspose.Pdf.Pdf pdf = new Aspose.Pdf.Pdf();

//绑定XML

pdf.BindXML(“MyDocument.xml”, null);

//是否删除生成的临时图片文件

pdf.IsImagesInXmlDeleteNeeded = true;

pdf.Save(“MyDocument.pdf”);

如果文件比较大,转换的时间会有点长,帮助文档上写在Save之前加入如下两句就可以加速转换过程

程序代码
程序代码

pdf.IsTruetypeFontMapCached = true;

pdf.TruetypeFontMapPath = System.IO.Path.GetTempPath();


不过我测试之后发现,加入这两句之后竟然比原来还慢。。不知道是什么原因

用Aspose控件读取Excel

Aspose是一个很强大的控件,可以用来操作word,excel,ppt等文件,用这个控件来导入、导出数据非常方便。虽然是收费的,不过可以用破解的嘛~~

其中Aspose.Cells就是用来操作Excel的,功能有很多。我所用的是最基本的功能,读取Excel的数据并导入到Dataset或数据库中。读取Excel表格数据的代码如下:

首先要引入命名空间

程序代码
程序代码

using Aspose.Cells;

打开并读取

程序代码
程序代码

Cells cells;

Workbook workbook = new Workbook();

workbook.Open(“C:\\test.xlsx”);

cells = workbook.Worksheets[0].Cells;

for (int i = 0; i < cells.MaxDataRow + 1; i++)

{

for (int j = 0; j < cells.MaxDataColumn + 1; j++)

{

string s = cells[i, j].StringValue.Trim();

//一行行的读取数据,插入数据库的代码也可以在这里写

}

}


主要的代码就是这些,数据已经读取出来了,剩下的怎么操作就看你自己扩展了。Aspose控件的使用还是比较简单的,想要更深入的了解就得多练练。。

用Aspose.Slides向PPT中插入Excel文件

今天又使用了ASPOSE,项目中有一个功能是生成PPT,然后在这个PPT中还要嵌入EXCEL文件.对ASPOSE这个控件还是不太熟悉,在网上找了好久一直没找到,最后还是去官网找到了代码.这个控件好强大的,得好好研究才行…

下面是嵌入EXCEL文件的代码:

Presentation pres = new Presentation(“C:\\demo.ppt”);

//取第二张幻灯片

Slide slide = pres.GetSlideByPosition(2);

//读取EXCEL表格并存为字节数组

FileStream fstro = new FileStream(“C:\\excel1.xls”, FileMode.Open,FileAccess.Read);

byte[] b = new byte[fstro.Length];

fstro.Read(b, 0, (int)fstro.Length);

//以OleObjectFrame形式插入幻灯片

Aspose.Slides.OleObjectFrame oof = slide.Shapes.AddOleObjectFrame(0,0,pres.SlideSize.Width,

pres.SlideSize.Height,”Excel.Sheet.8″, b);

//写入PPT

pres.Write(“C:\\modified.ppt”);