Xlrd 如何使用python从excel中获取特定单元格的命名范围
我需要获取为特定单元格输入的“命名范围”值 我在excel中输入了(A4,B4)单元格的“命名范围”值,以读取我们使用sh.cell(行,列)的单元格值,但如何获取该单元格的名称范围值 我不知道该怎么做Xlrd 如何使用python从excel中获取特定单元格的命名范围,xlrd,named-ranges,Xlrd,Named Ranges,我需要获取为特定单元格输入的“命名范围”值 我在excel中输入了(A4,B4)单元格的“命名范围”值,以读取我们使用sh.cell(行,列)的单元格值,但如何获取该单元格的名称范围值 我不知道该怎么做 帮帮我。。提前感谢不幸的是,我没有足够的代表发表评论,因此我将尽我所能理解您的问题 因此,如果我没有弄错的话,在工作表上有一个命名区域,其中由sh.range(“A4:B4”)引用的区域名称是“name_a_range”(我包括下划线,因为名称中不能有空格) 您可以从Sheets.Cells(r
帮帮我。。提前感谢不幸的是,我没有足够的代表发表评论,因此我将尽我所能理解您的问题 因此,如果我没有弄错的话,在工作表上有一个命名区域,其中由sh.range(“A4:B4”)引用的区域名称是“name_a_range”(我包括下划线,因为名称中不能有空格) 您可以从Sheets.Cells(row,col).value中获取值,但您希望通过指定的范围进行此操作 好的,要做到这一点:
Dim valA作为变型,valB作为变型
Dim valArray()作为变量
“”以获取单元格“A4”中的值
valA=sh.Range(“name_a_Range”).单元格(1,1).值
“”以获取单元格“B4”中的值
valB=sh.Range(“name_a_Range”).单元格(1,2).值
“”或者如果已经对Variant()数组进行了调暗(如上所示)
valArray=sh.Range(“名称范围”).值
工作表的范围对象可以是:
“A4”到“B4”范围的表达式,使用单元格
sh.Range(sh.Cells(4,1),sh.Cells(4,2))
“”表达式,范围为“A4”到“B4”,使用xlA1格式
''哪一个是最熟悉的
sh.范围(“A4:B4”)
范围为“A4”到“B4”的“”表达式,使用名称
sh.Range(“以前的Amedrange”)
对于任何范围,您都可以将其视为自己的阵列(从位置1开始)。
如果范围的大小(尺寸)未知,则可以使用内置的范围功能:
sh.Range(“name\u a\u Range”).Rows.Count“”返回1
sh.Range(“name\u a\u Range”)。Column.Count“”返回2
对于标题中的Python方面,您将使用相同的语法:
尽管如此,我不使用xlrd,而是使用win32com.client通过python驱动Excel
从win32com.client导入分派
app_xl=调度(“Excel.Application”)
wb=app_xl.Workbooks.Open(“Path\\To\\Your\\Workbook.xlsx”)
范围=工作表(1).范围(“名称范围”).值
例如,我在我的一张工作表上运行了以下命令:
>>来自win32com.client导入调度
>>>app_xl=调度(“Excel.Application”)
>>>wb=app\u xl.Workbooks.Open(“C:\***\***\excel\u vba\u tests\getinfo.xlsx”)
>>>rangeValues=wb.Sheets(“Summary”).Range(“avgVolume”).Value
>>>范围值
(u'Avg/Wk',),(十进制('791517.25'),(十进制('796369'),(十进制('769922.8846'),),(十进制('743311.549'),)
在这里,我打开了我的工作簿“getinfo.xlsx”,从名为“Summary”的工作表中,我可以获得命名范围“avgVolume”中的所有值
这对你有帮助吗?因为我不太确定你的问题到底是什么,所以我想我已经尽可能多地抓住了要点
from xlsxwriter.utility import xl_rowcol_to_cell
cell = xl_rowcol_to_cell(1, 2) # C2
print(cell)