Aspose使用方法

来源:互联网 发布:清华学云计算什么专业 编辑:程序博客网 时间:2024/06/06 10:57
最近用到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");

0 0