reporte.py
1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import xlsxwriter
import time
class Reporte():
COLUMNA = ("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K",
"L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "Y", "Z")
def __init__(self):
self.fecha = time.strftime("%y%m%d")
self.archivo = "tmp/reporte"+ self.fecha + ".xlsx"
self.QUERY = []
self.Encabesado = []
def NombreArchivo(self, nombre):
self.archivo = "tmp/"+ nombre + self.fecha + ".xlsx"
def __generarLibro__(self):
self.Libro = xlsxwriter.Workbook(self.archivo)
self.bold = self.Libro.add_format({'bold': True})
self.Hoja1 = self.Libro.add_worksheet("Totalizado")
def __escribir_linea__(self, datos, linea):
formato = self.Libro.add_format({'bg_color': '#e6ffff'})
mod = linea % 2
if mod > 0:
formato = self.Libro.add_format({'bg_color': '#ffe6ff'})
n = 0
for dato in datos:
celda = Reporte.COLUMNA[n] + str(linea)
self.Hoja1.write(celda, str(dato), formato)
n = n + 1
self.ancho = Reporte.COLUMNA[n]
def __escribir_global(self):
n = 2
for query in self.QUERY:
self.__escribir_linea__(query, n)
n = n + 1
self.alto = str(n)
def __ajuste__(self):
Pn = self.ancho + self.alto
#self.Hoja1.add_table("A1:"+Pn, {'autofilter': 0})
print(Pn)
def __encabesado__(self):
print(self.Encabesado)
if self.Encabesado == []:
print("me salto los titulos")
return()
n = 0
for celda in self.Encabesado:
c = Reporte.COLUMNA[n] + "1"
self.Hoja1.write(c, str(celda))
n = n + 1
def ArmarLibro(self, estado="1"):
self.__generarLibro__()
self.__escribir_global()
self.__encabesado__()
self.__ajuste__()
self.fin()
return(self.archivo)
def fin(self):
self.Libro.close()