将数据导出为csv在django中不起作用(Export data as csv is not working in django)

编程入门 行业动态 更新时间:2024-10-27 02:29:26
将数据导出为csv在django中不起作用(Export data as csv is not working in django)

如果点击打印按钮,我正在尝试导出csv文件。

问题是生成的文件不是.csv文件

但是,文件内容是检索我需要的值(我通过手动更改文件类型进行检查,因此我附加了结果)。 任何人都可以告诉我错误吗? 或者它与任何需求插件有关?

任何和所有的帮助,非常感谢!

import csv query_data = search_data(request,request.user.userid) if (request.method == 'POST'): if 'csvexport' in request.POST: data = csv_export(query_data) return HttpResponse (data,content_type='text/csv')

-

def csv_export (data): response = HttpResponse(content_type='text/csv') response['Content-Disposition'] = 'attachment; filename="file.csv"' writer = csv.writer(response) response.write('\ufeff'.encode('utf8')) writer.writerow([,'valData' ,'value1' ,'value2']) for rec in data: writer.writerow([rec['valData'] ,rec['value1'] ,rec['value2']]) return response

-

def search_data(request,userid): cursor = connection.cursor() query = str("SELECT\n" " valData,\n" " MG0.valData as value1,\n" " MG1.valData as value2,\n" " FROM\n" " T_USER AS TU\n" " LEFT JOIN M_GENERAL AS MG0\n" " ON MG0.Cd='001'\n" " LEFT JOIN M_GENERAL AS MG1\n" " ON MG1.Cd='001'\n") cursor.execute(query) row = dictfetchall(cursor,) return row

I'm currently trying to export a csv file if the print button is clicked.

The problem is the file which generated is not .csv file

However, the file content is retrieve the values which I need (I checked by changing type of file manually. Hereby I attached the result). Could anyone show me the mistakes? Or is it related to any requirement plugin?

Any and all help is greatly appreciated!

import csv query_data = search_data(request,request.user.userid) if (request.method == 'POST'): if 'csvexport' in request.POST: data = csv_export(query_data) return HttpResponse (data,content_type='text/csv')

--

def csv_export (data): response = HttpResponse(content_type='text/csv') response['Content-Disposition'] = 'attachment; filename="file.csv"' writer = csv.writer(response) response.write('\ufeff'.encode('utf8')) writer.writerow([,'valData' ,'value1' ,'value2']) for rec in data: writer.writerow([rec['valData'] ,rec['value1'] ,rec['value2']]) return response

--

def search_data(request,userid): cursor = connection.cursor() query = str("SELECT\n" " valData,\n" " MG0.valData as value1,\n" " MG1.valData as value2,\n" " FROM\n" " T_USER AS TU\n" " LEFT JOIN M_GENERAL AS MG0\n" " ON MG0.Cd='001'\n" " LEFT JOIN M_GENERAL AS MG1\n" " ON MG1.Cd='001'\n") cursor.execute(query) row = dictfetchall(cursor,) return row

最满意答案

尝试这个,

if (request.method == 'POST'): if 'csvexport' in request.POST: return csv_export(query_data)

Try this,

if (request.method == 'POST'): if 'csvexport' in request.POST: return csv_export(query_data)

更多推荐

本文发布于:2023-07-09 14:31:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1087002.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:中不   数据   csv   working   django

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!