Python读取excel文件中带公式的值的实现 您所在的位置:网站首页 excel返回公式的值的文本格式 Python读取excel文件中带公式的值的实现

Python读取excel文件中带公式的值的实现

2023-06-10 09:34| 来源: 网络整理| 查看: 265

Python读取excel文件中带公式的值的实现 使用程序语言生成或公式生成的值,在使用python调用时只会显示公式,按照 wb = openpyxl.load_workbook('writeFormula.xlsx',data_only=True) 进行调用时,会显示NONE,这是因为公式是代码写进去的,这样读出来就是None。 我从网上查到了几种方式: 手动写入公式并保存,再用openpyxl读取,能读取到公式的结果。 代码写入的公式/值,需要手动打开Excel,并保存,再用openpyxl读取,就能读取到公式了。(使用这种方式也很可能会返回NONE值。) 或者调用win32com.client import Dispatch 模块。运行下面代码后再进行读取,就能读取到数据/值。 最好的方式还是使用代码来完成。

import openpyxl wb = openpyxl.Workbook() sheet = wb.active sheet['A1'] = 200 sheet['A2'] = 300 sheet['A3'] = '=SUM(A1:A2)' wb.save('writeFormula.xlsx') print(sheet['A3'].value)

这是第一步生成excel表格的程序。

import openpyxl wb = openpyxl.load_workbook('writeFormula.xlsx',data_only=True) sheet = wb.active print(wb.sheetnames) for i in range(1,4): print(sheet['A' + str(i)].value)

这是第二部调用excel表格时的程序,这时调用值返回的为NONE值。

from win32com.client import Dispatch import openpyxl def just_open(filename): xlApp = Dispatch("Excel.Application") xlApp.Visible = False xlBook = xlApp.Workbooks.Open(filename) xlBook.Save() xlBook.Close() just_open('D:\pythonProject\excel\writeFormula.xlsx') wb = openpyxl.load_workbook('writeFormula.xlsx',data_only=True) sheet = wb.active print(wb.sheetnames) for i in range(1,4): print(sheet['A' + str(i)].value)

使用win32模块来重新保存就可以了,这时再调用第二个代码程序,显示的就是实际值,而不是NONE值。但是需要注意一点,如果重新运行第一个模块,则之后需要先运行最后一个模块,否则使用第二个模块的时候返回的还是NONE值。 使用命令 pip install pypiwin32 安装win32模块。 这个时候使用第二个程序调用时,

wb = openpyxl.load_workbook('writeFormula.xlsx',data_only=True)

wb = openpyxl.load_workbook('writeFormula.xlsx',data_only=False)

都可以,显示的都是你想要的值和公式。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有