1、基本功能
1.1、导入模块
import xlsxwriter
1.2、新建excel表
workbook = xlsxwriter.Workbook('1.xlsx')
1.3、新建sheet
worksheet = workbook.add_worksheet('sheet1')
1.4、行写入
worksheet.write_row('A1', ['日期', '标题', '内容'])
1.5、列写入
worksheet.write_column('D2',["无","无"])
1.6、单元格写入
worksheet.write('A3',"2020-10-04")
worksheet.write('B3',"price")
worksheet.write('C3',"10.99")
1.9、关闭
workbook.close()
1.8、完整代码
import xlsxwriter
workbook = xlsxwriter.Workbook('C:/Users/admin/Desktop/1.xlsx')
worksheet = workbook.add_worksheet() # 创建一个sheet
worksheet.write_row('A1', ['日期', '标题', '内容'])
worksheet.write_row('A2', ["2020-10-03", "price", "20.99"])
worksheet.write('A3',"2020-10-04")
worksheet.write('B3',"price")
worksheet.write('C3',"10.99")
workbook.close()
效果
1.9、其他功能
writer_number() #向单元格中写入数字
write_blank() #将一个空白写入单元格
write_string() #将字符串写入单元格
write_formula() #填入公式
write_array_formula() #写入公式
write_datetime() #填写日期 # 必须填入date,time 对象
write_boolean() #填入Boolean值
write_url() #填入url
write_rich_string(row, col, *args) #填写多种格式的字符串
write() #调用适当的write方法
insert_image() #插入图片
insert_textbox() #插入文本框
insert_chart() #插入图表
write_comment() #为单元格添加注释
show_comments() #展示单元格注释
set_comments_author() #设置评论作者
get_name() #获取工作表的名称
activate() #将工作表设置为活跃的,打开excel 第一个显示的表
select() #将工作表设置为选中工作表,高亮显示
hide() #隐藏选中的工作表
set_column() #设置列的宽度
set_first_sheet() #将当前工作表设置为第一个可见的表
set_row() #设置行的宽度及其他属性值
set_default_row() #设置默认行属性
hide_unused_rows() #隐藏未使用的行
merge_range() #合并单元格
autofilter() #在工作表中设置自动过滤区域
filter_column() #设置筛选滤条件
criteria() #筛选条件
filter_column_list() #在excel2007 列表样式中设置筛选标准
data_validation() #添加数据验证
conditional_format() #向工作表中添加一个条件格式
add_table() #向excel中添加一个工作表
add_sparkline() #添加微线图
set_selection() #设置选定的单元格
dset_zoom() #设置缩放 10-400
freeze_panes() #创建工作表窗格,并设置为冻结
split_panes() #创建工作表窗格,并将其标记为分割
hide_zero()() #自工作表中隐藏0值
set_tab_color() #设置 工作表选项卡的颜色
protect() #设置工作的密码和保护项
options() #用于保护的工作表对象的字典
insert_button() #插入一个button表单对象
set_footer() #设置页脚标题和可选的页边距
set_header() #设置页面标题标题和可选的页边距
set_margins() #将所有的页边距设置为英寸
set_paper() #设置纸张类型 papaer_size: A4=9
set_portrait() #将页面朝向设置为竖向
set_landscape() #将页面的朝向设置为横向
2、常用功能
2.1、插入折线图
import xlsxwriter
test = [
['2020-10-03',100,210],
['2020-10-02',120,230],
['2020-10-01',150,244],
['2020-09-30',180,230],
['2020-09-29',190,160],
['2020-09-28',170,330]
]
# 连接excel,无则创建,但是不能创建路径
workbook = xlsxwriter.Workbook('C:/Users/admin/Desktop/1.xlsx')
# 创建新的sheet
worksheet = workbook.add_worksheet('sheet1')
# 添加标题
headings = ['日期', '门店1', '门店2']
worksheet.write_row('A1', headings)
# 添加数据
length = len(test)
for row in range(1,length):
worksheet.write_row('A'+str(row+1), test[row])
# 设置列宽
worksheet.set_column(0,0,10)
# 新建图表格式 line为折线图
chart_col = workbook.add_chart({'type': 'line'})
# 给图表设置格式,填充内容
chart_col.add_series(
{
'name': '=sheet1!$B$1',
'categories': '=sheet1!$A$2:$A$6',
'values': '=sheet1!$B$2:$B$6',
'line': {'color': 'red'},
'data_labels': {'value': True}
}
)
chart_col.add_series(
{
'name': '=sheet1!$C$1',
'categories': '=sheet1!$A$2:$A$6',
'values': '=sheet1!$C$2:$C$6',
'line': {'color': 'blue'},
'data_labels': {'value': True}
}
)
# 设置图表表头及坐标轴
chart_col.set_title({'name': '测试'})
chart_col.set_x_axis({'name': "日期"})
chart_col.set_y_axis({'name': '销售额'})
chart_col.set_style(1)
# 放置图表位置
worksheet.insert_chart('A10', chart_col, {'x_offset': 25, 'y_offset': 10})
workbook.close()
2.2、设置单元格的格式
workfomat = workbook.add_format({
'bold': True, #字体加粗
'border':1, #单元格边框宽度
'align': 'center', #对齐方式
'valign': 'vcenter', #字体对齐方式
'fg_color': 'red', #单元格背景颜色
'text_wrap': True, # 是否自动换行
})
worksheet.write_row('A1', headings,workfomat)
2.3、合并单元格
worksheet.merge_range('D1:D7','合并单元格')
3、xlsxwriter优缺点
3.1、xlsxwriter 优点
功能比较强
相对而言,这是除Excel自身之外功能最强的工具了。比如我就用到了它提供的:字体设置、前景色背景色、
border设置、视图缩放(zoom)、单元格合并、autofilter、freeze panes、公式、data validation、
单元格注释、行高和列宽设置等等
支持大文件写入
3.2、xlsxwriter 缺点
不支持读取和修改不支持XLS文件