目录
1.insert_image方法
2.insert_chart方法
在xlsxwriter提供了两种方法在工作表中插入图片。分别是insert_image和insert_chart方法。两种方法都可以插入图片,区别如下:
insert_image插入的是一个图片,完全的一个外部图片,不可以编辑。而insert_chart插入的图片其实相当于调用excel中的画图工具画出来的,数据来源必须是当前文件(新创建的文件),并且画出的图和在excel中画出的图一样,并且可以编辑。
1.insert_image方法
insert_image方法比较简单,我们只需有准备一个图片即可,示例如下:
import xlsxwriter
wb = xlsxwriter.Workbook("test.xlsx")
pictureSheet = wb.add_worksheet("图片")
pictureSheet.index("A1","image.png")
wb.close()
2.insert_chart方法
insert_chart方法相当于是是Excel中的画图工具。比如要在A.xlsx文件中插入图片,那么绘图所需数据必须是A.xlsx文件中的数据。
注意:xlsxwriter不支持打开新文件,每次都要新创建文件去写入数据
import xlsxwriter
wb = xlsxwriter.Workbook("test.xlsx")
# 写入数据
sheet1 = wb.add_worksheet("Sheet1")
# 标号从0开始,这里不解释write_column方法
sheet1.write_column(0,0,["A",12,13,14,15,16,17,18,19,20,21])
sheet1.write_column(0,1,["B",2,3,4,5,6,7,8,9,0,1])
# area:面积图
# bar:条形图
# column:直方图
# doughnut:环状图
# line:折线图
# pie:饼状图
# scatter:散点图
# radar:雷达图
# stock:箱线图
chart = wb.add_chart({"type":"line"})
# name为线的名字
# categories为自变量,理解为x轴,sheet表示数据来自于工作表Sheet1,后面几个参数分别为数据开始的坐标和数据结束的坐标,一般是行或者列,
# 出了用数字表示还可以向EXCEL中一样用单元格符号表示,数字表示更简单
# 2, 1, 12, 1表述数据为第一列的第二行到第12行的数据
chart.add_series({
'name': "test-line",
'categories': ['Sheet1', 2, 2, 12, 2],
'values': ['Sheet1', 2, 1, 12, 1],
})
chart.set_title({'name': 'LS拉剪试样载荷-位移曲线', 'name_font': {'size': 10}})
chart.set_size({'width': 700, 'height': 500})
chart.set_x_axis({'name': '标距段位移:mm', 'name_font': {'size': 10}, 'min': -1, 'max': 14})
chart.set_y_axis({'name': '载荷:N', 'name_font': {'size': 10}})
sheet1.insert_chart("C3", chart, {'x_offset': 20, 'y_offset': 10})
# 参数为插入位置,图表,图表大小
wb.close()
?效果如下:
?
|