Versión: 6.0.7.3 - Configuración regional: es-AR (es_AR.UTF-8); Calc: group
Hola! Tengo que generar un documento en writer a partir de una hoja de calculos de 160 tablas de calc.
consulta.foro.ods
Lo generé siguiendo las propuestas de: Concatenar -> Unircadenas: formula matricial
Para pegar cada tabla con su texto en writer hice un macro que al que llamo desde el teclado. Intenté generar un gráfico pastel en simultaneo, pero no puede. Adjunto el documento de writer y uno de texto que contiene la macro.
macro_pegar_tabla.odt
consulta.foro.documento.frecuencias.odt
La metodología la usaría cada vez que apliquemos la encuesta (los datos los recolectamos con Limesurvey).
Luego se generan documentos como este: http://www.ceil-conicet.gov.ar/wp-content/uploads/2017/12/1-Neffa-Henry-Quien-cuida-a-los-que-cuidan.pdf#page=201
¿Alguien me sugeriría un método mejor para generar en writer las tablas, descripción y gráficos pastel?
Saludos!!
Documento Writer resultante hasta el momentoprueba2019_11_1.odt
PD: Pego a continuación las partes del código que no entiendo y mis notas
def calc2writer():
doc = app.get_document() #documento abierto
sheet = doc['Sheet1'] #es la primera hoja
data = sheet['A1'].current_region.data #indica que en la hoja, tome la celda A1
first = data[0][0] #el texto de pregunta
last = data[-1][0] #el texto de descripción
table_data = data[1:-1] #los datos de la tabla. NO LO ENTIENDO CÓMO CAMBIARLO
writer = app.new_doc('writer') #abrir nuevo writer
writer.write(first) #escribir pregunta
writer.write('\n\n') #escribir espacios
table = writer.insert_table(table_data) #inserta tabla con datos de calc
chart_data = 'A1:B5' #tabla ¿es estatica? ¿puedo definir una selección? NO LO ENTIENDO CÓMO CAMBIARLO
writer.write('\n') #espacio
writer.write(last) # escribir la descripción
writer.write('\n\n') #espacio
name = 'MyChart' #defino elemento
with writer.create_chart('Pie') as c:#parametros del gráfico
c.name = name
c.table = table
c.data = 'A1:B5' #rango estable para los datos del gráfico. NO LO ENTIENDO CÓMO CAMBIARLO
c.width = 11000 #ancho
c.height = 7000 #alto
c.legend.CharColor = app.get_color('black')
return