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。 

  • 相关阅读:
    vue学习03 v-html
    [spring guides]网关入门
    记一次公司mssql server密码频繁被改的事件
    重构 maixpy 的 board_info + config.json 从而自适应硬件版型。
    介绍 MaixUI 系列(一)如何食用?
    (旧文)在 micropython / esp-at / arduino 中实现 软串口(software-serial) 的参考
    以优化 MaixPy 的启动速度为例,说说 K210 的双核使用及原子操作。
    我是如何在 Win + VSCode 上开发 Keil for GD32 实现 I2C 从机的游戏机手柄。
    为 MaixPy 加入软 SPI 接口(移植 MicroPython 的 SPI)
    为 MaixPy 加入软 I2C 接口(移植 MicroPython 的 I2C)
  • 原文地址:https://www.cnblogs.com/happyfish78/p/2780541.html
Copyright © 2011-2022 走看看