Господа вопрос, все сделал все красиво у меня стоит Exel 2010, как я понял utf-8 схавать для него не проблема.
В базе все храниться в utf-8.
Вывел все в файл, на всех старых офисах видимо поддержка utf-8 не предусмотрена((
Решил использовать метод encode и получил следующую ошибку: ‘SxemaOtcheta’ object has no attribute ‘encode’ и указывает на строку z=qsadds.encode('cp1251')
Где моя ошибка?? вроде все красиво в строку поместил значение списка, строку попытался перевести в другую кодировку
def po_vsem_otdel(request):
response = HttpResponse(mimetype='text/csv')
response['Content-Disposition'] = 'attachment; filename=somefilename.csv'
qwerty2 = NazvaniePodrazdelenia.objects.values_list('id', flat=True)
q2 = [int(azc) for azc in qwerty2]
csv_data = []
csv_data_1 = []
chis = []
g=0
i=0
for j in q2:
for p in SxemaOtcheta.objects.filter( nazvanie_otch = int(request.POST.get('formaotcheta'))):
chis.append(p)
csv_data.append(p)
if g==0:
x=len(chis)
g=x
csv_data.append('\n')
else:
x=g
for h in range(x): csv_data.pop()
for p in TableZnachenui.objects.filter( nazvanie_otcheta = int(request.POST.get('formaotcheta')), nazvanie_pod=j):
i+=1
csv_data.append(p)
if x==i:
for p in NazvaniePodrazdelenia.objects.filter( id=j):
csv_data.append(p)
csv_data.append('\n')
i=0
m=0
for m in range(len(csv_data)):
qsadds=''
z=''
qsadds=csv_data[m]
z=qsadds.encode('cp1251')
csv_data_1.append(z)
t = loader.get_template('my_template_name.txt')
c = Context({
'data': csv_data_1,
})
response.write(t.render(c))
return response