openerp用wizard导入excel数据

作为一个quick note吧。
OE里的csv导入数据功能形同摆设,通俗地说就是弱爆了。
今天尝试一下用excel文件来导入数据。

在python里读取excel格式的lib很多,这里我选用的是xlrd。

上代码先:

# -*- coding: utf-8 -*-

from osv import osv, fields
import time, xlrd, base64


class bank_bill_import(osv.osv_memory):
    
    _name = "fg_account.bank_bill.import.wizard"
    _description = "导入账单"
    
    _columns = {
        'excel': fields.binary('excel文件', filters='*.xls'),
    }
    
    def import_bill(self, cr, uid, ids, context=None):
        for wiz in self.browse(cr,uid,ids):
            if not wiz.excel: continue
            
            excel = xlrd.open_workbook(file_contents=base64.decodestring(wiz.excel))
            sh = excel.sheet_by_index(0)
            print sh.name, sh.nrows, sh.ncols
            for rx in range(sh.nrows):
                for ry in range(sh.ncols):
                    print sh.cell(rx, ry).value
                    #这里做爱做的事情
            
        return {'type': 'ir.actions.act_window_close'}

其实重点就在于:

excel = xlrd.open_workbook(file_contents=base64.decodestring(wiz.excel))


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值