Cómo utilizar scripts de Python en Excel
1. Leer tabla de Excel
Para leer Excel, necesita utilizar el módulo xlrd, que se puede instalar en el sitio web oficial (";"Google")')) # Genera el texto "Google" vinculado a
p>
workbook.save('Excel_Workbook.xls')
Fusionar columnas y filas
import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Mi hoja')
worksheet.write_merge(0, 0, 0, 3 , 'First Merge') # Fusiona las columnas 0 a 3 de la fila 0.
font = xlwt.Font() # Crear fuente
font.bold = True # Establece la fuente en Negrita
style = xlwt.XFStyle() # Crear estilo
style.font = font # Agregar fuente en negrita al estilo
worksheet.write_merge(1, 2, 0 , 3, 'Second Merge', estilo) # Fusiona las filas 1 a 2 y las columnas 0 a 3.
workbook.save('Excel_Workbook.xls')
Configuración de la alineación para el Contenido de una celda
importar xlwt
p>workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Mi hoja')
alignment = xlwt.Alignment() # Crear alineación
alignment.horz = xlwt.Alignment.HORZ_CENTER # Puede ser: HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER, HORZ_RIGHT, HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTED
alignment.vert = xlwt.Alignment.VER T_CENTER #Puede ser: VERT_TOP, VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED
style = xlwt.XFStyle() # Crear estilo
style.alignment = alineación # Agregar alineación al estilo
worksheet.write(0, 0, 'Contenido de la celda', estilo)
workbook.save('Excel_Workbook.xls ')
Agregar bordes a una celda
# Tenga en cuenta: si bien pude
Para encontrar estas constantes dentro del código fuente, en mi sistema (usando LibreOffice), solo se me presentó una línea sólida, que varía de delgada a gruesa, sin líneas punteadas ni discontinuas.
import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Mi hoja')
borders = xlwt.Borders() # Crear bordes
bordes.left = xlwt.Borders.DASHED # Puede ser: SIN_LINEA, DELGADA, MEDIANA, DISPONIBLE, CON PUNTOS, GRUESA, DOBLE, PELO, MEDIUM_DASHED, THIN_DASH_DOTTED, MEDIUM_DASH_DOTTED, THIN_DASH_DOT_DOTTED, MEDIUM_DASH_DOT_DOTTED, SLANTED_MEDIUM_DASH_DOTTED, o 0 x00 a 0x0D.
borders.right = xlwt.Borders.DASHED
borders.top = xlwt.Borders.DASHED
borders.bottom = xlwt.Borders.DASHED
borders.left_color = 0x40
borders.right_color = 0x40
borders.top_colour = 0x40
borders.bottom_color = 0x40
style = xlwt.XFStyle() # Crear estilo
style.borders = borders # Agregar bordes al estilo
worksheet.write(0, 0, 'Contenido de celda', estilo )
workbook.save('Excel_Workbook.xls')
Configuración del color de fondo de una celda
import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Mi hoja')
pattern = xlwt.Pattern() # Crea el patrón
patrón. patrón = xlwt.Pattern.SOLID_PATTERN # Puede ser: NO_PATTERN, SOLID_PATTERN o 0x00 a 0x12
pattern.pattern_fore_colour = 5 # Puede ser: 8 a 63. 0 = Negro, 1 = Blanco, 2 = Rojo , 3 = Verde, 4 = Azul, 5 = Amarillo, 6 = Magenta, 7 = Cian, 16 = Granate
, 17 = Verde oscuro, 18 = Azul oscuro, 19 = Amarillo oscuro, casi marrón), 20 = Magenta oscuro, 21 = Verde azulado, 22 = Gris claro, 23 = Gris oscuro, la lista continúa...
style = xlwt.XFStyle() # Crear el patrón
style.pattern = patrón # Agregar patrón al estilo
worksheet.write(0, 0, 'Contenido de la celda' , estilo)
workbook.save('Excel_Workbook.xls')
TODO: Cosas que quedan por documentar
- Paneles: vistas separadas que siempre están en view
- Colores del borde (documentado arriba, pero no tiene el efecto que debería)
- Anchos del borde (documentado arriba, pero no funciona como se esperaba)
- Protección
- Estilos de fila
- Zoom/Manificación
- ¿Accesorios de WS?
Código fuente de referencia disponible en: https: //secure.simplistix.co.uk/svn/xlwt/trunk/xlwt/