从NC系统获取对账单数据批量输出excel

本文介绍了如何利用Python Django框架,结合NC6.5系统,为财务部门批量生成对账单Excel文件。通过在Windows服务器上搭建环境,使用django、xlsxwriter库,以及前端Bootstrap,实现自动化输出。详细步骤包括项目创建、数据库配置、SQL语句拼接、前端界面设计以及文件下载功能的实现。
摘要由CSDN通过智能技术生成

公司的ERP采用的是NC6.5系统,财务每月都要输出对账单给到客户及供应商,之前的做法是在NC系统中查询所有客户及供应商的对账单的原始数据,然后财务手工输出没个客户及供应商的对账单,因此为了减轻财务的重复工作量,我们信息部门经过调研决定采用python+django的方式给财务批量输出对账单

搭建所使用的环境:

windows 2012 server IIS7.0+wfastcgi

python 3.8 

django3.2

oracle 11g

bootstrap 3

项目中所使用的第三方库:xlsxwriter (用于生成excel文件)

开发工具:pycharm

先来一张简单的最终效果图(稍显简陋,但功能已满足业务需求)

1、创建项目及基础配置

使用pycharm或者使用命令行创建一个django 项目,这里我使用pycharm

打开pycharm,点击“file”--“New Project”

设置项目,项目文件的保持的目录、添加虚拟环境

添加好项目之后,在pycharm中打开“terminal”,执行命令

python manage.py startapp reportdzd

来新建一个APP

接下来就是配置数据库的信息了

打开settings.py ,按以下信息进行配置

DATABASES = {
    'default': {
        #数据库引擎
        'ENGINE': 'django.db.backends.oracle',
         #数据库名
        'NAME': 'orcl',
         #用户名
        'USER':'NCTEST',
        #密码
        'PASSWORD':'NCTEST',
         #数据库服务器IP或名称
        'HOST':'192.168.0.252',
        #端口号
        'PORT':'1521'
    }
}

配置中文环境及时区

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

配置服务器

IIS7.0部署django详细步骤可参考以下链接

https://www.cnblogs.com/djangocn/p/10227006.html

2、本地开发

安装依赖库,

在pycharm中安装依赖库

也可以在“Terminal”中输入命令

pip install 库名[==版本号]

#安装Xlsxwriter库
pip install xlsxwriter == 1.4

3、新建文件sql_text.py,创建拼接SQL语句的方法get_sql(start_date,end_date,pk_org),

该方法主要是从给定的三个参数,然后根据给定的参数拼接对账单的查询SQL语句,对账单数据的开始时间start_date、结束时间 end_date及业务单元pk_org三个参数 , 部分代码如下

def get_sql(start_date,end_date,pk_org):
    sql_str='''
    SELECT DISTINCT substr(ic_saleout_b.dbizdate, 1, 10) dbizdate,so_saleorder.vbillcode vbillcode,
                ht_soquickcreation_h.vbillcode sovbillcode, bd_customer.name khname,
                ic_saleout_h.vbillcode vbillcode1,  so_saleinvoice.vbillcode fpvbillcode,
                ht_soquickcreation_h.dbilldate dbilldate1, so_saleinvoice_b.crowno crowno1,
                bd_material.code code1, bd_material.name wname, bd_material.materialtype materialtype,bd_measdoc.name dname,
                so_saleinvoice_b.nnum nnum,so_s
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值