创建图表以后,可以将图表复制到剪贴板,并粘贴到当前或其他工作表。也可以导出到指定格式的图片文件。[大谦Excel,dqexcel点com]
将图表复制到剪贴板
使用Chart对象的CopyPicture方法,可以将选中的图表以图片形式复制到剪贴板。该方法的语法格式如下:
>>> cht.CopyPicture(Appearance,Format)
其中,cht为图表对象,2个参数:
• Appearance - 设置图片的复制方式。取值为1时图片尽可能按其屏幕显示进行复制,这是默认值;值为2时图片按其打印效果进行复制。
• Format - 设置图片的格式。值为2时图片以位图格式复制,支持的扩展名有bmp, jpg, gif和png;值为-4147时图片以矢量格式复制,支持的格式有emf和wmf。
下面选择数据创建图表,使用Chart对象的CopyPicture方法将图表以图片形式复制到剪贴板。
>>> sht.api.Range("A1:B7").Select()
>>> cht=sht.api.Shapes.AddChart().Chart
>>> cht.CopyPicture()
然后打开Windwos的画图板,在绘图区单击鼠标右键,在弹出式菜单中单击“粘贴”选项,粘贴效果如图5-27所示。
图5-27 将图表复制到剪贴板然后粘贴到画图板
下面选择数据创建图表,使用Chart对象的CopyPicture方法将图表以图片形式复制到剪贴板。然后添加一个工作表,指定粘贴位置C3并将图片粘贴过来。
>>> sht.api.Range("A1:B7").Select()
>>> cht=sht.api.Shapes.AddChart().Chart
>>> cht.CopyPicture()
>>> sht2=wb.api.Worksheets.Add()
>>> sht2.Range("C3").Select()
>>> sht2.Paste()
注意,粘贴过来以后,它是图片不是图表,不能选择图表元素。可以对其进行图片的变换操作,比如旋转一定角度,如图5-28所示。
图5-28 粘贴过来是图片
图表保存为图片
使用Chart对象的Export方法将图表导出到指定格式的图片文件。该方法的语法格式为:
cht.Export(FileName,FilterName,Interactive)
其中,cht表示图表对象,3个参数:
• FileName – 必需选项,表示导出文件的路径和文件名。
• FilterName – 可选项,指定导出文件的扩展名。
• Interactive – 可选项,值为True时显示包含筛选特定选项的对话框,值为False时使用默认选项。
下面选择数据创建图表,使用Chart对象的Export方法将图表以图片格式保存到D盘下的pyxls.jpg文件。
>>> sht.api.Range("A1:B7").Select()
>>> cht=sht.api.Shapes.AddChart().Chart
>>> cht.Export(r"D:\pyxls.jpg")