Python XlsxWriter – 单元格符号和范围

Python XlsxWriter – 单元格符号和范围

工作簿中的每个工作表都是一个由大量单元格组成的网格,每个单元格可以存储一个数据–数值或公式。网格中的每个单元格都由其行号和列号来标识。

在Excel的标准单元格地址中,列由字母标识,A、B、C、….、Z、AA、AB等,而行则从1开始编号。

每个单元格的地址是字母数字,其中字母部分对应于列,数字对应于行。例如,地址 “C5 “指向列 “C “和行号 “5 “中的单元。

Python XlsxWriter - 单元格符号和范围

单元格记号

标准的Excel使用字母数字序列的列字母和基于1的行。XlsxWriter支持标准的Excel记号( A1 记号)以及 行-列 记号,该记号对行和列都使用基于0的索引。

例子

在下面的例子中,一个字符串 “Hello world “使用Excel的标准单元格地址写进A1单元格,而 “Welcome to XLSXWriter “使用行-列符号写进C5单元格。

import xlsxwriter
wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()
ws.write('A1', 'Hello world')           # A1 notation
ws.write(4,2,"Welcome to XLSXWriter")   # Row-column notation
wb.close()

输出

用Excel软件打开 hello.xlsx 文件。

Python XlsxWriter - 单元格符号和范围

在以编程方式引用单元格时,编号的 行-列 符号特别有用。在下面的代码中,列表中的数据必须写到工作表中的单元格区域中。这是由两个嵌套的循环实现的,外循环代表行号,内循环代表列号。

data = [
   ['Name', 'Physics', 'Chemistry', 'Maths', 'Total'],
   ['Ravi', 60, 70, 80],
   ['Kiran', 65, 75, 85],
   ['Karishma', 55, 65, 75],
]
for row in range(len(data)):
   for col in range(len(data[row])):
      ws.write(row, col, data[row][col])

通过使用下面代码中使用的工作表对象的 write_row( )方法,可以实现同样的结果–

for row in range(len(data)):
   ws.write_row(6+row,0, data[row])

工作表对象有 add_table() 方法,将数据写入一个范围,并转换为Excel范围,在顶行显示自动过滤下拉箭头。

ws.add_table('G6:J9', {'data': data, 'header_row':True})

例子

上述三个代码的输出可以通过以下代码进行验证,并显示在下图中 −

import xlsxwriter

wb = xlsxwriter.Workbook('ex1.xlsx')
ws = wb.add_worksheet()

data = [
   ['Name', 'Physics', 'Chemistry', 'Maths', 'Total'],
   ['Ravi', 60, 70, 80],
   ['Kiran', 65, 75, 85],
   ['Karishma', 55, 65, 75],
]
for row in range(len(data)):
   for col in range(len(data[row])):
      ws.write(row, col, data[row][col])

for row in range(len(data)):
   ws.write_row(6+row,0, data[row])

ws.add_table('G6:J9', {'data': data, 'header_row':False})

wb.close()

输出

执行上述程序,用Excel软件打开 ex1.xlsx

Python XlsxWriter - 单元格符号和范围

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程