python显示表格_python 页面表格 在word文档中显示

804230-20190528184107645-266744163.png

804230-20190528184121994-1979962064.png

def post(self, request):

base_url = settings.MEDIA_ROOT + '\\doc\\template\\'

asset_url = base_url + 'kong3.docx'

# ---------------------------cp_name--cp_ids----------------------------------rp_name---rp_ids--------------------------------

cols_point = Point.objects.filter(item_id=8)

rows_point = Point.objects.filter(item_id=3)

cp_name = []

cp_ids = []

for cpoint in cols_point:

cp_name.append(cpoint.point_name)

cp_ids.append(cpoint.id)

rp_name = []

rp_ids = []

for rpoint in rows_point:

rp_name.append(rpoint.point_name)

rp_ids.append(rpoint.id)

print("0000000000cp_ids000000000:%s" %cp_ids) # [13, 14, 15, 16, 17]

print("0000000000rp_ids000000000:%s" %rp_ids) # [9, 10, 11, 12]

# -------------------------col_list--------------------------row_list-----------------------------------------------

col_rows = request.POST.get('col_rows') # 13-9,17-9,14-10,15-11,16-12

col_rows_list = col_rows.split(",") #['13-9', '17-9', '14-10', '14-11', '15-11', '16-11', '17-12']

col_list = [] # [13, 14, 16, 15, 17]

row_list = [] # [9, 10, 10, 11, 12]

data_list = [] #[[13, 9], [14, 10], [16, 10], [15, 11]]

for col_rows in col_rows_list:

col_row = col_rows.split("-")

col = int(col_row[0]) # 13

row = int(col_row[1]) # 9

col_list.append(col)

row_list.append(row)

col_row1 = [col,row]

data_list.append(col_row1)

col_names = [] # ['教学目标1', '教学目标2', '教学目标3', '教学目标4', '教学目标5']

for col in col_list:

col_name = Point.objects.get(id=col)

col_names.append(col_name.point_name)

print("0000000000col_name000000000:%s" %col_names)

#------------------------------------------------------------------------------------------------

# print("0000000000tttttttttttt000000000")

data2 = []

data1 = []

data = []

print("0000000000rp_ids000000000:%s" %cp_ids)

print("0000000000data_list000000000:%s" %data_list)

for rid in rp_ids:

r_point = Point.objects.get(id=rid)

r_pname = r_point.point_name

data1.append(r_pname)

str_list2 = []

for cid in cp_ids:

bool =True

for dac in data_list:

ac = dac[0]

ar = dac[1]

if ac == cid and ar == rid:

str1 = "+"

str_list2.append(str1)

bool = False

if bool:

str2 = ""

str_list2.append(str2)

data2.append(str_list2)

data3 = {'label': r_pname, 'cols': str_list2}

data.append(data3)

print("0000000000data1000000000:%s" %data1)

print("0000000000data2000000000:%s" %data2)

print("0000000000data3000000000:%s" %data)

tpl = DocxTemplate(asset_url)

context = {

'col_labels': cp_name,

'tbl_contents': data

# 'col_labels': ['fruit', 'vegetable', 'stone', 'thing'], # cp_name

# 'tbl_contents': [

# {'label': 'yellow', 'cols': ['banana', 'capsicum', 'pyrite', 'taxi']},

# {'label': 'red', 'cols': ['apple', 'tomato', 'cinnabar', 'doubledecker']},

# {'label': 'green', 'cols': ['guava', 'cucumber', 'aventurine', 'card']},

# ]

}

tpl.render(context)

tpl.save(base_url + 'kong_test1.docx')

return JsonResponse({'res': 5, 'message': '创建成功!'})

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值