先来看视图层代码:
浏览器端:
使用fields.Binary()上传文件成功,点击【读取文档】后我们去看控制台:
直接使用print输出后控制台打印的Excel表内容为b'的格式(Eexcel表中内容为:)
ID | 名称 | 年龄 | 性别 |
001 | 小付 | 23 | 男 |
下面换一种方式解码数据:
def read_up_load(self): # 解码数据 data = xlrd.open_workbook(file_contents=base64.decodebytes(self.up_load)).sheets()[0] # 从第二行开始读取 i = 1 # 存储数据的列表 data_list = [] # 不知道有多少行数据,使用死循环进行读取 while i: try: data_list.append(data.row_values(i)) i += 1 except: break print(data_list)
*注意:更改odoo中的.py文件后记得重启服务,更改视图文件后升级模块更新模块列表