通过python可以自动在excel种插入折线图或者曲线图,图形的样式也可以自由配置。
下面的例子可以直接执行——示例会自动创建一个excel文件,并在其中写入数据,然后创建对应的图形。
import win32com.client as win32
from win32com.client import constants
xls_app = win32.gencache.EnsureDispatch('Excel.Application')
wb = xls_app.Workbooks.Add()
ws = wb.Worksheets(1)
ws.Name = 'my_new_sheet'
xls_app.Visible = True
#wb.SaveAs('New_workbook.xlsx')
#添加数据
ws.Range("A1").Value = "1"
ws.Range("A2").Value = "2"
ws.Range("A3").Value = "3"
ws.Range("A4").Value = "2"
ws.Range("A5").Value = "1"
ws.Range("A6").Value = "-1"
#添加折线
#XlChartType 图表的类型
#left和top是按照像素来配置图表插入的位置
new_cht=ws.Shapes.AddChart2(Left=20,Top=10)#
cht=new_cht.Select() #创建并选中
wb.ActiveChart.ChartType = constants.xlXYScatterLines
wb.ActiveChart.SetSourceData(Source=ws.Range("A1:A6"))
#如果需要在指定的页面放置图表,可以在插入之前,变更ws指向的页面XlChartType的可用类型定义docs.microsoft.com