1. 产品
  2.   电子表格
  3.   Python
  4.   XlsxWriter
 
  

用于 Google 表格的开源 Python API

通过开源 Python 库编写 Excel XML 电子表格文件。

XlsxWriter 是一个开源 python API,用于以 Excel 2007+ XLSX 文件格式编写文件。使用 API,您可以将文本、公式、数字和超链接写入多个工作表。此外,该 API 允许插入图表、合并单元格、格式化单元格、应用过滤器、验证数据、插入 PNG/JPEG/BMP/WMF/EMF 图像、使用丰富的多格式字符串等等。

XlsxWriter 声称提供的 Excel 功能比任何其他 Python 模块都多。该 API 在创建新的 Excel 文件时提供了很高的准确率,在大多数情况下,使用 XlsxWriter 生成的文件与 Excel 生成的文件 100% 等效。

Previous Next

XlsxWriter 入门

您需要在系统上安装 Python 2.7 或更高版本才能顺利运行 XlsxWriter。推荐的通过 PIP 安装的方式。请使用以下命令。

通过 PIP 命令安装 XlsxWriter

pip install XlsxWriter

通过 Python 库创建电子表格

XlsxWriter API 允许使用 Python 和 XlsxWriter 模块创建 Microsoft 电子表格。它允许软件程序员使用 XlsxWriter.Workbook() 方法创建一个空白电子表格。您可以使用 workbook.add_worksheet() 方法将工作表添加到工作簿中。添加工作表后,API 允许广泛的免费功能使用 Python 处理 Excel 工作表。

通过Python图书馆创建和修改扩展表

import xlsxwriter
# Create an new Excel file and add a worksheet.
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()
# Widen the first column to make the text clearer.
worksheet.set_column('A:A', 20)
# Add a bold format to use to highlight cells.
bold = workbook.add_format({'bold': True})
# Write some simple text.
worksheet.write('A1', 'Hello')
# Text with formatting.
worksheet.write('A2', 'World', bold)
# Write some numbers, with row/column notation.
worksheet.write(2, 0, 123)
worksheet.write(3, 0, 123.456)
workbook.close()

使用 Python 在 XLSX 中添加图表

开源电子表格库 XlsxWriter 允许软件开发人员使用几行代码添加 XLSX 文件格式的图表。在 Excel 中创建新工作表后,您可以使用 workbook.add_chart() 方法添加图表。使用 Python API,您可以免费添加面积图、条形图、柱形图、折线图、饼图、圆环图、散点图、股票图和雷达图。

通过Python图书馆添加Bar绘图

import xlsxwriter
workbook = xlsxwriter.Workbook('chart_bar.xlsx')
worksheet = workbook.add_worksheet()
bold = workbook.add_format({'bold': 1})
# Add the worksheet data that the charts will refer to.
headings = ['Number', 'Batch 1', 'Batch 2']
data = [
    [2, 3, 4, 5, 6, 7],
    [10, 40, 50, 20, 10, 50],
    [30, 60, 70, 50, 40, 30],
]
worksheet.write_row('A1', headings, bold)
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
worksheet.write_column('C2', data[2])
# Create a new bar chart.
chart1 = workbook.add_chart({'type': 'bar'})
# Configure the first series.
chart1.add_series({
    'name':       '=Sheet1!$B$1',
    'categories': '=Sheet1!$A$2:$A$7',
    'values':     '=Sheet1!$B$2:$B$7',
})

使用 Python 处理 Excel 公式

XlsxWriter 库使开发人员能够以编程方式在 Microsoft Excel 文件格式中编写公式。您可以使用 worksheet.write_forumula() 方法简单地将公式添加到文件中。 Excel 以美国英语版本的格式存储公式,因此公式必须为美国英语格式。

通过Python图书馆加入Array公式

import xlsxwriter
# Create a new workbook and add a worksheet
workbook = xlsxwriter.Workbook('array_formula.xlsx')
worksheet = workbook.add_worksheet()
# Write some test data.
worksheet.write('B1', 500)
worksheet.write('B2', 10)
worksheet.write('B5', 1)
worksheet.write('B6', 2)
worksheet.write('B7', 3)
worksheet.write('C1', 300)
worksheet.write('C2', 15)
worksheet.write('C5', 20234)
worksheet.write('C6', 21003)
worksheet.write('C7', 10000)
# Write an array formula that returns a single value
worksheet.write_formula('A1', '{=SUM(B1:C1*B2:C2)}')
# Same as above but more verbose.
worksheet.write_array_formula('A2:A2', '{=SUM(B1:C1*B2:C2)}')
# Write an array formula that returns a range of values
worksheet.write_array_formula('A5:A7', '{=TREND(C5:C7,B5:B7)}')
workbook.close()
 中国人