2015-06-12 62 views
2

我使用python库xlsxwriter在Excel中创建了一个工作表。我在单元格B2中输入“输入列以实现转向”,然后在单元格C2中提供了一个下拉选项列表。如何发送输入从Excel到Python?

enter image description here

我通过调用data_validation()在工作表上创建的下拉列表中。

workbook = writer.book 
worksheet3 = workbook.add_worksheet('Sheet3') 
prompt = "Select category to calculate variance of: " 

worksheet3.write('B2', prompt) 
worksheet3.write('C2', 'Max TemperatureF') 
worksheet3.data_validation('C2', {'validate': 'list', 
    'source': ['Max TemperatureF', 'Mean TemperatureF', 'Min TemperatureF', 'Max Dew PointF']}) 
worksheet3.set_column(2, 1, 35) # C2 
worksheet3.set_column(2, 2, 20) # C2 

之后,我调用writer.save()来保存工作表。现在我试图找出如何获得C2单元格的价值。我想使用python将提交按钮添加到单元格D2中的Excel工作表。然后当按钮被点击时,我将使用python获取C2的值并存储该值。

有没有人曾经做过类似的事情或知道如何做?

回答

1

XLSX 作家完全是为了 Excel文件。它无法读取它们,更不用说响应工作表内按钮的点击。

请阅读 Excel文件,您可以使用xlrd。与用Excel交互,看看xlwings

+0

一旦我用我用xslxwriter创建的文件调用writer.save(),我可以调用openpyxl从它读取数据。 –

+1

是的,您可以使用xlwings使按钮调用Python代码。 – Zenadix

0

我没有得到你想要的完美,但如果它可以帮助你使用exec函数。

>>> string = "print 'hello'" 
>>> exec string 
hello 
+0

基本上我试图在python中使用python获取单元格的值。我已经有一小部分获取值的代码示例 - - 但我想在Excel中创建一个提交按钮使用python,只有当点击我执行代码上面 –

+0

埃姆,是不是Visual Basic更好地做到这一点? –

+0

它可能是在这一个实例,但总体来说,我正在研究的项目在Python中更容易 –