Since Excel will import a csv file, why not just write a csv file. In mysql, while ugly, you could shell down and use the mysql command line options to export a query to csv.
From: django-users@googlegroups.com [mailto:django-users@googlegroups.com] On Behalf Of Od-Erdene Ch Sent: Thursday, April 28, 2011 6:23 AM To: django-users@googlegroups.com Subject: This section is converting database table to excel file hi there this section is converting database table to excel file. problem is when converting database table to excel file (it is containing 6400 [six thousand four hundred] rows) it is spending more than 10 minutes. that is very slow. is there any idea to make more faster. Help me CODE: if request.GET.has_key('excel') : if request.GET['excel'] == "true": qs = CarDetails.objects.all().order_by(sord + sidx) wb = xlwt.Workbook() ws = wb.add_sheet(u'CarDetails') labels = [u"型式", u"車名", u"車輌詳細コード",u'車体形状',u"類別区分番号",u"車輌重量諸元",u"全長", u"全幅",u"全高",u"用途",u"形状",u"原動機型式",u"総排気量",u"営・自家用区分", u"乗車定員",u"最大積載量",u"車輌総重量",u"燃料の種類",u"乗車定員括弧",u"最大積載量括弧", u"ローター数",u"燃料種類",u"燃料種類括弧 その他"] ws.write_merge(0, 0, 0, 22, u'車輌マスター管理', get_title_style()) label_style = get_label_style2() for i in range(len(labels)) : ws.write(1, i, labels[i], label_style) ws.col(0).width = get_computed_width(-30) # by pixel ws.col(1).width = get_computed_width(150) ws.col(2).width = get_computed_width(150) ws.col(3).width = get_computed_width(150) ws.col(4).width = get_computed_width(150) ws.col(5).width = get_computed_width(150) ws.col(6).width = get_computed_width(150) ws.col(7).width = get_computed_width(150) ws.col(8).width = get_computed_width(150) ws.col(9).width = get_computed_width(150) ws.col(10).width = get_computed_width(150) ws.col(11).width = get_computed_width(150) ws.col(12).width = get_computed_width(150) ws.col(13).width = get_computed_width(150) ws.col(14).width = get_computed_width(150) ws.col(15).width = get_computed_width(150) ws.col(16).width = get_computed_width(150) ws.col(17).width = get_computed_width(150) ws.col(18).width = get_computed_width(150) ws.col(19).width = get_computed_width(150) ws.col(20).width = get_computed_width(150) ws.col(21).width = get_computed_width(150) ws.col(22).width = get_computed_width(150) today = datetime.strftime(datetime.today(),"%Y-%m-%d") rown = 2 simple_style = get_simple_style() for list in qs : car_maker_code = "" car_maker = "" car_name2 = "" tax = "" model = "" car_name = "" name = "" body = "" class_type_number = "" weight = "" length = "" width = "" height = "" usage = "" view_type = "" motor_type = "" totol_piston_cc = "" is_own = "" human_size = "" kg_size = "" totol_weight = "" fuel_type = "" human_size_kakko = "" kg_size_kakko = "" rotor_number = "" fuel_type_kakko = "" fuel_type_kakko_sonota = "" if list.model: model = list.model if list.carname: car_name = list.carname if list.name: name = list.name if list.body: body = list.body if list.class_type_number: class_type_number = list.class_type_number if list.weight: weight = list.weight if list.length: length = list.length if list.width: width = list.width if list.height: height = list.height if list.usage: usage = list.get_usage_display() if list.view_type: view_type = list.view_type if list.motor_type: motor_type = list.motor_type if list.totol_piston_cc: totol_piston_cc = list.totol_piston_cc if list.is_own: is_own = list.get_is_own_display() if list.human_size: human_size = list.human_size if list.kg_size: kg_size = list.kg_size if list.totol_weight: totol_weight = list.totol_weight if list.fuel_type: fuel_type = list.get_fuel_type_display() if list.human_size_kakko: human_size_kakko = list.human_size_kakko if list.kg_size_kakko: kg_size_kakko = list.kg_size_kakko if list.rotor_number: rotor_number = list.rotor_number if list.fuel_type_kakko: fuel_type_kakko = list.fuel_type_kakko if list.fuel_type_kakko_sonota: fuel_type_kakko_sonota = list.fuel_type_kakko_sonota ws.write(rown, 0, unicode(model), simple_style) ws.write(rown, 1, unicode(car_name), simple_style) ws.write(rown, 2, unicode(name), simple_style) ws.write(rown, 3, unicode(body), simple_style) ws.write(rown, 4, unicode(class_type_number), simple_style) ws.write(rown, 5, unicode(weight), simple_style) ws.write(rown, 6, unicode(length), simple_style) ws.write(rown, 7, unicode(width), simple_style) ws.write(rown, 8, unicode(height), simple_style) ws.write(rown, 9, unicode(usage), simple_style) ws.write(rown, 10, unicode(view_type), simple_style) ws.write(rown, 11, unicode(motor_type), simple_style) ws.write(rown, 12, unicode(totol_piston_cc), simple_style) ws.write(rown, 13, unicode(is_own), simple_style) ws.write(rown, 14, unicode(human_size), simple_style) ws.write(rown, 15, unicode(kg_size), simple_style) ws.write(rown, 16, unicode(totol_weight), simple_style) ws.write(rown, 17, unicode(fuel_type), simple_style) ws.write(rown, 18, unicode(human_size_kakko), simple_style) ws.write(rown, 19, unicode(kg_size_kakko), simple_style) ws.write(rown, 20, unicode(rotor_number), simple_style) ws.write(rown, 21, unicode(fuel_type_kakko), simple_style) ws.write(rown, 22, unicode(fuel_type_kakko_sonota), simple_style) rown += 1 result = StringIO() wb.save(result) result.seek(0) response = HttpResponse(result.read(), mimetype='application/ms-excel') response['Content-Disposition'] = 'attachment; filename=Car_details_%s.xls' % today return response thanks -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.