您的位置:首页 > 编程语言 > ASP

Aspose.Words操作word excel ppt说明

2013-04-30 08:31 981 查看
最近用到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");

 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: