输出图表

创建图表以后,可以将图表复制到剪贴板,并粘贴到当前或其他工作表。也可以导出到指定格式的图片文件。[大谦Excel,dqexcel点com]

将图表复制到剪贴板

使用Chart对象的CopyPicture方法,可以将选中的图表以图片形式复制到剪贴板。该方法的语法格式如下:

code.python
>>> cht.CopyPicture(Appearance,Format)

其中,cht为图表对象,2个参数:

• Appearance - 设置图片的复制方式。取值为1时图片尽可能按其屏幕显示进行复制,这是默认值;值为2时图片按其打印效果进行复制。

• Format - 设置图片的格式。值为2时图片以位图格式复制,支持的扩展名有bmp, jpg, gif和png;值为-4147时图片以矢量格式复制,支持的格式有emf和wmf。

下面选择数据创建图表,使用Chart对象的CopyPicture方法将图表以图片形式复制到剪贴板。

code.python
>>> sht.api.Range("A1:B7").Select()
>>> cht=sht.api.Shapes.AddChart().Chart
>>> cht.CopyPicture()

然后打开Windwos的画图板,在绘图区单击鼠标右键,在弹出式菜单中单击“粘贴”选项,粘贴效果如图5-27所示。

Document Image

图5-27 将图表复制到剪贴板然后粘贴到画图板

下面选择数据创建图表,使用Chart对象的CopyPicture方法将图表以图片形式复制到剪贴板。然后添加一个工作表,指定粘贴位置C3并将图片粘贴过来。

code.python
>>> 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所示。

Document Image

图5-28 粘贴过来是图片

图表保存为图片

使用Chart对象的Export方法将图表导出到指定格式的图片文件。该方法的语法格式为:

code.python
cht.Export(FileName,FilterName,Interactive)

其中,cht表示图表对象,3个参数:

• FileName – 必需选项,表示导出文件的路径和文件名。

• FilterName – 可选项,指定导出文件的扩展名。

• Interactive – 可选项,值为True时显示包含筛选特定选项的对话框,值为False时使用默认选项。

下面选择数据创建图表,使用Chart对象的Export方法将图表以图片格式保存到D盘下的pyxls.jpg文件。

code.python
>>> sht.api.Range("A1:B7").Select()
>>> cht=sht.api.Shapes.AddChart().Chart
>>> cht.Export(r"D:\pyxls.jpg")