1. 公式

1.1 SUM

SUM 函数将值相加,可以将单个值、单元格引用或是区域相加,或者将三者的组合相加。例如: =SUM(A1:A3)将单元格 A1:A3 中的值加在一起,=SUM(A1:A3,B1:B3)将单元格 A1:A3 以及单元格 B1:B3 中的值加在一起。语法:SUM(number1,[number2],…),number1(必需):要相加的第一个数字。该数字可以是 4 之类的数字,A1 之类的单元格引用或 A1:A3 之类的单元格范围。number2(可选):要相加的第二个数字。可以按照这种方式最多指定 255 个数字。下面我们来看怎么通过 Python 使用 SUM 函数。代码如下:

import openpyxlwb = openpyxl.load_workbook('sum.xlsx')
ws = wb.activews['A5'] = '=SUM(A1:A3)'
ws['B5'] = '=SUM(A1:A3,B1:B3)'wb.save('sum.xlsx')

上面代码中,首先读取 Excel 文档 sum.xlsx 并获取活跃工作表;其次在单元格 A5 以及 B5 中分别写入公式 =SUM(A1:A3) 和 =SUM(A1:A3,B1:B3);最后对 Excel 文档进行保存。运行上述代码之前的文档如下图所示:

上述代码运行之后的文档如下图所示:

A5 单元格的值为 A1,A2,A3 单元格的值相加。B5 单元格的值为 A1,A2,A3,B1,B2,B3 单元格的值相加。

1.2 VLOOKUP

使用 VLOOKUP 可以在表格或区域中按行查找内容。下面我们来看怎么通过 Python 使用 VLOOKUP 函数。代码如下:

import openpyxlwb = openpyxl.load_workbook('vlookup.xlsx')
ws = wb.activews['B7'] = '=VLOOKUP(A7,A1:B5,2,0)'
wb.save('vlookup.xlsx')

上面代码中,首先读取 Excel 文档 vlookup.xlsx 并获取活跃工作表;其次在单元格 B7 中写入公式 =VLOOKUP(A7,A1:B5,2,0);最后对 Excel 文档进行保存。运行上述代码之前的文档如下图所示:

上述代码运行之后的文档如下图所示:

根据 A7 中的苹果查找到了金额 50。在公式 VLOOKUP(A7,A1:B5,2,0) 中,第一个参数 A7 是要查找的值;第二个参数 A1:B5 为要在其中查找值的区域;第三个参数 2 为查找值所在列的列号;第四个参数 0 为查找匹配项,近似匹配指定 TRUE(1),精确匹配指定 FALSE(0)。

2. 图表

我们可以使用 openpyxl 提供的方法为 Excel 中的数据作图表,下面以柱状图举例说明:

2.1 步骤

1.创建数据的 Reference 对象以及类别的 Reference 对象。
2.创建一个 BarChart 对象,并设置对象的属性,如:标题、x 轴名称、y 轴名称等。
3.将数据的 Reference 对象以及类别的 Reference 对象添加到 BarChart 对象。
4.将 BarChart 对象添加到工作表并保存工作表。

2.2 代码

import openpyxl
from openpyxl.chart import BarChart, Referencewb = openpyxl.load_workbook('sampleChart.xlsx')
ws = wb.activedata = Reference(ws, min_row=1, max_row=9, min_col=3, max_col=4)
cats = Reference(ws, min_col=2, max_col=2, min_row=2, max_row=9)chart = BarChart()
chart.title = "销售数量&销售金额"
chart.y_axis.title = '数量&金额'
chart.x_axis.title = '商品名称'chart.add_data(data, titles_from_data=True)
chart.set_categories(cats)ws.add_chart(chart,"F2")
wb.save("sampleChart.xlsx")

上面的代码中,步骤 1 对应的代码为:

data = Reference(ws, min_row=1, max_row=9, min_col=3, max_col=4)
cats = Reference(ws, min_col=2, max_col=2, min_row=2, max_row=9)

步骤 2 对应的代码为:

chart = BarChart()
chart.title = "销售数量&销售金额"
chart.y_axis.title = '数量&金额'
chart.x_axis.title = '商品名称'

步骤 3 对应的代码为:

chart.add_data(data, titles_from_data=True)
chart.set_categories(cats)

步骤 4 对应的代码为:

ws.add_chart(chart,"F2")
wb.save("sampleChart.xlsx")

运行上述代码之前的文档如下图所示:

上述代码运行之后的文档如下图所示:

3. 单元格格式的设置

我们还可以使用 openpyxl 提供的方法对 Excel 文档的单元格格式进行设置。

3.1 单元格字体的设置

示例代码如下:

from openpyxl.styles import Fontwb = openpyxl.Workbook()
ws = wb['Sheet']fontObj1 = Font(name='Times New Roman', bold=True)
ws['A1'] = 'Bold Times New Roman'
ws['A1'].font = fontObj1fontObj2 = Font(size=24, italic=True)
ws['B3'] = '24 pt Italic'
ws['B3'].font = fontObj2wb.save('styles.xlsx')

在上面的代码中,创建了两个字体对象 fontObj1 和 fontObj2。并把 A1 单元格的字体设置成 fontObj1,B3 单元格的字体设置成 fontObj2。上面代码执行完成后的 Excel 文档如下图所示:

3.2 调整行高和列宽

示例代码如下:

import openpyxlwb = openpyxl.Workbook()
ws = wb.activews['A1'] = 'Tall Row'
ws['B2'] = 'Wide Column'ws.row_dimensions[1].height = 70
ws.column_dimensions['B'].width = 20wb.save('dimensions.xlsx')

在上面的代码中,将第一行的行高设置成 70,将第二列的列宽设置成 20。上面代码执行完成后的 Excel 文档如下图所示:

3.3 合并和拆分单元格

合并单元格的示例代码如下:

import openpyxlwb = openpyxl.Workbook()
ws = wb.activews.merge_cells('A1:D3')
ws['A1'] = 'Twelve cells merged together.'ws.merge_cells('C5:D5')
ws['C5'] = 'Two cells merged together.'wb.save('merged.xlsx')

在上面的代码中,首先将 A1:D3 矩形区域内的单元格进行合并,其次将 C5 和 D5 单元格进行合并。上面代码执行完成后的 Excel 文档如下图所示:

拆分单元格的示例代码如下:

import openpyxlwb = openpyxl.load_workbook('merged.xlsx')
ws = wb.activews.unmerge_cells('A1:D3')
ws.unmerge_cells('C5:D5')
wb.save('unmerged.xlsx')

在上面的代码中,将合并后的单元格进行拆分。上面代码执行完成后的 Excel 文档如下图所示:

3.4 冻结单元格

当 Excel 文档中的行数较多时,我们下滑鼠标查看行内容时,行的标题也会上滑消失,这时候想知道没列代表的含义就不是很方便。为了查看的方便,我们可以冻结标题。冻结单元格的示例代码如下:

import openpyxlwb = openpyxl.load_workbook("produceSales.xlsx")
ws = wb.active
ws.freeze_panes = 'E2'wb.save('produceSales.xlsx')

冻结前查看后边行内容的 Excel 文档如下图所示:

可以看到下滑到后面行的时候,标题看不到了。上面代码执行完成后的 Excel 文档如下图所示:

当冻结首行后,当下滑到后面行的时候,标题依然是可以看到的。

Excel 公式、图表以及单元格的操作相关推荐

  1. excel公式:定位单元格

    相对引用单元格 比如:A1. 当引用单元格的公式被复制时,新公式引用的单元格的位置将会发生改变. 如横向复制公式,则可以得到B1.C1.D1.- 如纵向复制公式,则可以得到A2.A3.A4.- 绝对引 ...

  2. excel公式 某一个单元格等于另一个单元格的值_EXCEL函数学习5——COUNTIF函数

    [标签] excel函数.统计函数 前面我们学习了COUNT函数,我们回顾一下: count函数很简单,就是统计一个或多个区域的数字个数.相对来说,countif函数多了一个if,也就是可以增加条件了 ...

  3. excel 公式 平移 引用单元格_不学会这3个Excel隔列求和函数公式,你只能一个个单元格去相加...

    Excel中的求和,并不是你们想的1+2=3那么简单.有单条件求和.多条件求和,合并单元格求和,隔列求和等等.有关求和的函数也很多,例如SUM函数.SUMIFS函数.还有与这两个函数结合使用的其它函数 ...

  4. excel公式 某一个单元格等于另一个单元格的值_15个excel小技巧,简单易学,一看就会,收藏备用吧...

    hello,大家好,今天跟大家分享15个excel小动画,如果工作中遇到类似的问题即可快速搞定,话不多说,让我们直接开始吧 1.利用查找统计单元格颜色 首先我们按ctrl+f查找窗口,然后点击旁边的格 ...

  5. Excel公式系列: 单元格中字符是否包含某个特定值IF、ISERROR、FIND

    公式方案:=IF(ISERROR(FIND(需要查找的内容,查找的单元格),真值,假值)) 示例: 单元格中公式如下:

  6. python xlwings库对于excel单元格的操作

    [高心星出品] 文章目录 前言 一.xlwings获取单元格的数据与格式 二.xlwings修改单元格的数据与格式 总结 前言 在上一篇文章传送门介绍了xlwings库对于单元格的简单操作,本篇文章继 ...

  7. 如何通过VB合并Excel单元格以及设置Excel行高?VB创建Excel表格,合并单元格,生成图形等操作

    如何通过VB合并Excel单元格以及设置Excel行高? 例如:我想把第一列的第4,5,6,7行合并...我在怎样让合并单元格里的字居中,怎样改变字体. 请不吝赐教... ============== ...

  8. java 单元格内容加粗,excle单元格如何加粗《EXCEL中怎么对单元格中,公式的部分字段加粗?》...

    问下EXCEL表格分割线怎么加粗 单元格样式设置包含分割线加粗. Excel表格单元格线样式操作如下: ①框选单元格--右击--设置单元格 ②弹出"设置单元格式"--边框--根据实 ...

  9. 计算机中两个数相乘用什么函数,2. 在Excel中将多个单元格相乘的乘法公式

    在Excel表中,我们经常使用Excel公式对一些报表或数据等进行计数. 这时,必须使用加,减,乘和除. 我们已经在前面详细解释了Excel求和和查找. 如何使用差异公式. 那么,我们如何使用公式将一 ...

最新文章

  1. 【MATLAB】符号数学计算(八):符号分析可视化
  2. C#基础练习(时间的三连击)
  3. leetcode 357. Count Numbers with Unique Digits | 357. 计算各个位数不同的数字个数(Java)
  4. java tcp 编程实例_Java实现基于TCP的通讯程序实例解析
  5. jQuery判断当前点击的是第几个li的代码
  6. 使用行为树(Behavior Tree)实现游戏AI
  7. 2月10日 感知器+浅层神经网络+反向传播+tensorflow
  8. virtualbox安装Windows server 2003
  9. golang文件传输工具,支持大文件
  10. 建立书签链接的html语言,书签链接
  11. object-c的继承
  12. 采样频率和带宽的关系_真正专业DSP的灵魂3——采样率
  13. ECCV22 最新论文汇总(目标检测、图像分割、监督学习、GAN等)
  14. java爬取今日头条_今日头条抓取街拍图片数据集
  15. 普通最小二乘法讲解OLS线性回归
  16. 机器学习训练营--快来一起挖掘幸福感吧
  17. 《计算机网络 自顶向下方法》(第7版)答案(第三章)(三)
  18. 第一次作业——肖祥英
  19. Fastapi学习笔记(一)
  20. 在专家和外行的角色中切换

热门文章

  1. 酷我歌词爬取--《不将就》
  2. 心理疾病-物理病症(无限期持续更新)
  3. 一篇文章带你搞定 Java 日志框架 slf4j
  4. bootstrap4中col-sm col-md col-lg col-xl
  5. 如何隐藏网络计算机,电脑隐藏网络怎么连接
  6. 关于框架论(是否该学框架)
  7. 【电脑技巧】远程访问-注意设置关键步骤修改电源计划取消进入睡眠模式
  8. 多款现代设计风格2021年新年日历矢量素材
  9. Vue学习Day6 插槽slot使用、编译作用域、作用域插槽、模块化开发、webpack介绍、安装
  10. 分析了5000部电影票房,发现赚钱的电影都有这些特征~