用应用数字格式读取单元格值?

使用openpyxl我已经能够获得所有的代码来读取.xlsx表来生成一个特定的技术文档工具所需的.xml。 我试图让代码一般适用于我的团队中的任何人可能会产生的任何表,一个问题已经咬我是XML中的一些列应用格式,以节省一些打字。

例如,我有一个表格,列的行ID和Excel中的文本读取为Test-001,Test-002,Test-003等。为了保存input,我设置了一个自定义数字格式在Excel中作为“Test-”000,允许某人键入任何列的单元格,并将其转换为Test-。 当使用openpyxl返回时读取单元格值时返回的值。

没有检查每个列的number_format,并使用正则expression式来提取string并将其添加到读取值,是否有一个openpyxl (2.2.6)的微不足道的方法有价值返回Excel用户看到的东西?

这将大大推广我的代码,因为有些表可能没有ID列。

这是python的一个最小工作示例:

 import openpyxl import logging logging.basicConfig(level=logging.DEBUG, format=' %(asctime)s - %(levelname)s - %(message)s') if __name__ == "__main__": logging.info('Reading from ExampleWrkBook.xlsx') wb = openpyxl.load_workbook('ExampleWrkBook.xlsx') wrkSheet = wb.get_sheet_by_name('Sheet1') logging.info('The first ID value in the sheet is "TestID-001", but openpyxl returns {0:s}'.format(str(wrkSheet['B3'].value))) 

在这里可以在DropBox上find一个电子表格示例。