zoukankan      html  css  js  c++  java
  • Excel生成报表之解决方案插入图片

    首先看下代码生成的效果:

    插入图表到电子表格中,你可能需要控制图片位置或者大小。从图中不能看出,同一个图片展示出效果不一致,让我们来看下如何设置。

    对图片的控制基本上有:

    1.只需设置图片在电子表格中开始位置。

    2.即需设置图片在电子表格中开始位置,又需要控制图片的缩放比例。

    3.需要设置图片在电子表格中的范围。

    如何用Acey.Excel代码实现这3个要求:

    首先导入命名空间:

    using Acey.ExcelX;
    using Acey.ExcelX.Drawing;

    View Code
     1         /// <summary>
     2         /// 下面例子展示如何插入图片到电子表格中。
     3      /// </summary>
     4         public void Sample()
     5         {
     6             //创建工作薄。
     7         IWorkbook workbook = ExcelxApplication.CreateWorkbook();
     8             //获取指定索引的工作表。
     9         IWorksheet worksheet = workbook.Worksheets[0];
    10 
    11             //添加图片名称到电子表格中指定的开始位置。
    12          worksheet.Pictures.Add(2, 2, @"Images\Log.png");
    13 
    14             //添加图片名称到电子表格中指定的开始位置并控制图片的缩放比例。
    15         worksheet.Pictures.Add(12, 5, @"Images\Log.png", 52, 49);
    16 
    17             //添加图片名称到电子表格中指定的范围。
    18         worksheet.Pictures.Add(3, 8, 10, 12, @"Images\Log.png");
    19 
    20             //保存该工作薄为指定类型。
    21             string xlsFile = @"d:\Picture.xls";
    22             workbook.SaveAs(xlsFile, FileFormat.Excel97To2003);
    23         }

    其中using Acey.ExcelX命名空间满足对电子表格基本场景的使用,Acey.ExcelX.Drawing命名空间对图形的操作。
    1.如何设置图片插入到电子表格中开始位置

    其中worksheet.Pictures.Add(2, 2, @"Images\Log.png");(第一个参数:电子表格中开始行索引,第二个参数:电子表格中开始列索引,第三个参数要插入的图片名称。),如确定电子表格中开始行和列索引,就能确定该图片的开始位置。

    2.如何即需设置图片在电子表格中开始位置,又需要控制图片的缩放比例。

    其中worksheet.Pictures.Add(12, 5, @"Images\Log.png", 52, 49);(第1个参数:电子表格中开始行索引,第2个参数:电子表格中开始列索引,第3个参数要插入的图片名称,第4个参数:

    宽度缩放比例,第5个参数:高度缩放比例)。这个方法即设置图片在电子表格中开始位置,又设置图片缩放比例)。

    3.如何设置图片在电子表格中的范围。

    其中worksheet.Pictures.Add(3, 8, 10, 12, @"Images\Log.png");(其中第1个参数:电子表格中开始行索引,第2个参数:电子表格中开始列索引,第3个参数结束行索引,第4个参数结束列索引, 第5个参数要插入的图片名称).

    开始行和列索引,和结束行和列索引确定图片在表格中的范围。

    只需要3个简单重载就能轻松实现不同展示效果。

    总结

    无需安装微软Excel,用代码也能很轻松实现添加图片的效果。 下载最新版本到www.aceyoffice.com。如果您想对Acey.ExcelX有进一步了解,在网站下载帮助和Demo。 

  • 相关阅读:
    DM6437 dsp系列之启动过程全析(2)—AIS文件解析
    DreamWeaver文件保存时,提示"发生共享违例"问题的解决方法
    再谈cacheAsBitmap
    as3 updateAfterEvent的作用
    导致flash屏幕重绘的几种方式及避免重绘的方法
    盒子模型&position定位
    [工作问题总结]MyEclipse 打开项目
    三周的苦逼学习,这点文字只为沧海之一粟
    偷个空,写个博客——各种沟通各种纠结
    Arbitrage HDU
  • 原文地址:https://www.cnblogs.com/happyfish78/p/2780541.html
Copyright © 2011-2022 走看看