def set_noTableBorders(table): """Sets a table to have no borders.""" borderLine = BorderLine() borderLine.OuterLineWidth = 0 tableBorder = table.getPropertyValue("TableBorder") tableBorder.VerticalLine = borderLine tableBorder.HorizontalLine = borderLine tableBorder.LeftLine = borderLine tableBorder.RightLine = borderLine tableBorder.TopLine = borderLine tableBorder.BottomLine = borderLine table.setPropertyValue("TableBorder", tableBorder)
def __init__(self, xTextDocument, FrameText, Width, Height, XPos, YPos): self.xTextDocument = xTextDocument self.iWidth = Width self.iHeight = Height self.iXPos = XPos self.iYPos = YPos self.xFrame = None try: self.xFrame = \ self.xTextDocument.createInstance( "com.sun.star.text.TextFrame") self.setFramePosition() self.xFrame.AnchorType = AT_PAGE self.xFrame.SizeType = FIX self.xFrame.TextWrap = THROUGHT self.xFrame.Opaque = True self.xFrame.BackColor = 15790320 myBorder = BorderLine() myBorder.OuterLineWidth = 0 self.xFrame.LeftBorder = myBorder self.xFrame.RightBorder = myBorder self.xFrame.TopBorder = myBorder self.xFrame.BottomBorder = myBorder self.xFrame.Print = False xTextCursor = \ self.xTextDocument.Text.createTextCursor() xTextCursor.gotoEnd(True) xText = self.xTextDocument.Text xText.insertTextContent( xTextCursor, self.xFrame, False) xFrameText = self.xFrame.Text xFrameCursor = xFrameText.createTextCursor() xFrameCursor.setPropertyValue("CharWeight", BOLD) xFrameCursor.setPropertyValue("CharColor", 16777215) xFrameCursor.setPropertyValue("CharFontName", "Albany") xFrameCursor.setPropertyValue("CharHeight", 18) xFrameText.insertString(xFrameCursor, FrameText, False) except Exception: traceback.print_exc()
def __init__(self, xTextDocument, FrameText, Width, Height, XPos, YPos): self.xTextDocument = xTextDocument self.iWidth = Width self.iHeight = Height self.iXPos = XPos self.iYPos = YPos self.xFrame = None try: self.xFrame = \ self.xTextDocument.createInstance( "com.sun.star.text.TextFrame") self.setFramePosition() self.xFrame.AnchorType = AT_PAGE self.xFrame.SizeType = FIX self.xFrame.TextWrap = THROUGH self.xFrame.Opaque = True self.xFrame.BackColor = 15790320 myBorder = BorderLine() myBorder.OuterLineWidth = 0 self.xFrame.LeftBorder = myBorder self.xFrame.RightBorder = myBorder self.xFrame.TopBorder = myBorder self.xFrame.BottomBorder = myBorder self.xFrame.Print = False xTextCursor = \ self.xTextDocument.Text.createTextCursor() xTextCursor.gotoEnd(True) xText = self.xTextDocument.Text xText.insertTextContent( xTextCursor, self.xFrame, False) xFrameText = self.xFrame.Text xFrameCursor = xFrameText.createTextCursor() xFrameCursor.setPropertyValue("CharWeight", BOLD) xFrameCursor.setPropertyValue("CharColor", 16777215) xFrameCursor.setPropertyValue("CharFontName", "Albany") xFrameCursor.setPropertyValue("CharHeight", 18) xFrameText.insertString(xFrameCursor, FrameText, False) except Exception: traceback.print_exc()
def test_tableborder(self): xDoc = CheckTable._uno.openEmptyWriterDoc() # insert table xTable = xDoc.createInstance("com.sun.star.text.TextTable") xTable.initialize(3, 3) xText = xDoc.getText() xCursor = xText.createTextCursor() xText.insertTextContent(xCursor, xTable, False) border = xTable.getPropertyValue("TableBorder") self.__test_borderAsserts(border.TopLine, border.IsTopLineValid) self.__test_borderAsserts(border.BottomLine, border.IsBottomLineValid) self.__test_borderAsserts(border.LeftLine, border.IsLeftLineValid) self.__test_borderAsserts(border.RightLine, border.IsRightLineValid) self.__test_borderAsserts(border.HorizontalLine, border.IsHorizontalLineValid) self.__test_borderAsserts(border.VerticalLine, border.IsVerticalLineValid) self.__test_borderDistance(border) # set border border.TopLine = BorderLine(0, 11, 19, 19) border.BottomLine = BorderLine(0xFF, 00, 11, 00) border.HorizontalLine = BorderLine(0xFF00, 00, 90, 00) xTable.setPropertyValue("TableBorder", border) # read set border border = xTable.getPropertyValue("TableBorder") self.assertTrue(border.IsTopLineValid) self.assertEqual(11, border.TopLine.InnerLineWidth) self.assertEqual(19, border.TopLine.OuterLineWidth) self.assertEqual(19, border.TopLine.LineDistance) self.assertEqual(0, border.TopLine.Color) self.assertTrue(border.IsBottomLineValid) self.assertEqual(0, border.BottomLine.InnerLineWidth) self.assertEqual(11, border.BottomLine.OuterLineWidth) self.assertEqual(0, border.BottomLine.LineDistance) self.assertEqual(0xFF, border.BottomLine.Color) self.__test_borderAsserts(border.LeftLine, border.IsLeftLineValid) self.__test_borderAsserts(border.RightLine, border.IsRightLineValid) self.assertTrue(border.IsHorizontalLineValid) self.assertEqual(0, border.HorizontalLine.InnerLineWidth) self.assertEqual(90, border.HorizontalLine.OuterLineWidth) self.assertEqual(0, border.HorizontalLine.LineDistance) self.assertEqual(0xFF00, border.HorizontalLine.Color) self.__test_borderAsserts(border.VerticalLine, border.IsVerticalLineValid) self.__test_borderDistance(border) border2 = xTable.getPropertyValue("TableBorder2") self.assertTrue(border2.IsTopLineValid) self.assertEqual(11, border2.TopLine.InnerLineWidth) self.assertEqual(19, border2.TopLine.OuterLineWidth) self.assertEqual(19, border2.TopLine.LineDistance) self.assertEqual(0, border2.TopLine.Color) self.assertEqual(DOUBLE, border2.TopLine.LineStyle) self.assertEqual(49, border2.TopLine.LineWidth) self.assertTrue(border2.IsBottomLineValid) self.assertEqual(0, border2.BottomLine.InnerLineWidth) self.assertEqual(11, border2.BottomLine.OuterLineWidth) self.assertEqual(0, border2.BottomLine.LineDistance) self.assertEqual(0xFF, border2.BottomLine.Color) self.assertEqual(SOLID, border2.BottomLine.LineStyle) self.assertEqual(11, border2.BottomLine.LineWidth) self.__test_borderAssertsWithLineStyle(border2.LeftLine, border2.IsLeftLineValid) self.__test_borderAssertsWithLineStyle(border2.RightLine, border2.IsRightLineValid) self.assertTrue(border2.IsHorizontalLineValid) self.assertEqual(0, border2.HorizontalLine.InnerLineWidth) self.assertEqual(90, border2.HorizontalLine.OuterLineWidth) self.assertEqual(0, border2.HorizontalLine.LineDistance) self.assertEqual(0xFF00, border2.HorizontalLine.Color) self.assertEqual(SOLID, border2.HorizontalLine.LineStyle) self.assertEqual(90, border2.HorizontalLine.LineWidth) self.__test_borderAssertsWithLineStyle(border2.VerticalLine, border2.IsVerticalLineValid) self.__test_borderDistance(border2) # set border2 border2.RightLine = BorderLine2(0, 0, 0, 0, THICKTHIN_LARGEGAP, 120) border2.LeftLine = BorderLine2(0, 0, 0, 0, EMBOSSED, 90) border2.VerticalLine = BorderLine2(0xFF, 0, 90, 0, DOTTED, 0) border2.HorizontalLine = BorderLine2(0xFF00, 0, 0, 0, DASHED, 11) xTable.setPropertyValue("TableBorder2", border2) # read set border2 border2 = xTable.getPropertyValue("TableBorder2") self.assertTrue(border2.IsTopLineValid) self.assertEqual(11, border2.TopLine.InnerLineWidth) self.assertEqual(19, border2.TopLine.OuterLineWidth) self.assertEqual(19, border2.TopLine.LineDistance) self.assertEqual(0, border2.TopLine.Color) self.assertEqual(DOUBLE, border2.TopLine.LineStyle) self.assertEqual(49, border2.TopLine.LineWidth) self.assertTrue(border2.IsBottomLineValid) self.assertEqual(0, border2.BottomLine.InnerLineWidth) self.assertEqual(11, border2.BottomLine.OuterLineWidth) self.assertEqual(0, border2.BottomLine.LineDistance) self.assertEqual(0xFF, border2.BottomLine.Color) self.assertEqual(SOLID, border2.BottomLine.LineStyle) self.assertEqual(11, border2.BottomLine.LineWidth) self.assertTrue(border2.IsLeftLineValid) self.assertEqual(23, border2.LeftLine.InnerLineWidth) self.assertEqual(23, border2.LeftLine.OuterLineWidth) self.assertEqual(46, border2.LeftLine.LineDistance) self.assertEqual(0, border2.LeftLine.Color) self.assertEqual(EMBOSSED, border2.LeftLine.LineStyle) self.assertEqual(90, border2.LeftLine.LineWidth) self.assertTrue(border2.IsRightLineValid) self.assertEqual(53, border2.RightLine.InnerLineWidth) self.assertEqual(26, border2.RightLine.OuterLineWidth) self.assertEqual(41, border2.RightLine.LineDistance) self.assertEqual(0, border2.RightLine.Color) self.assertEqual(THICKTHIN_LARGEGAP, border2.RightLine.LineStyle) self.assertEqual(120, border2.RightLine.LineWidth) self.assertTrue(border2.IsHorizontalLineValid) self.assertEqual(0, border2.HorizontalLine.InnerLineWidth) self.assertEqual(11, border2.HorizontalLine.OuterLineWidth) self.assertEqual(0, border2.HorizontalLine.LineDistance) self.assertEqual(0xFF00, border2.HorizontalLine.Color) self.assertEqual(DASHED, border2.HorizontalLine.LineStyle) self.assertEqual(11, border2.HorizontalLine.LineWidth) self.assertTrue(border2.IsVerticalLineValid) self.assertEqual(0, border2.VerticalLine.InnerLineWidth) self.assertEqual(90, border2.VerticalLine.OuterLineWidth) self.assertEqual(0, border2.VerticalLine.LineDistance) self.assertEqual(0xFF, border2.VerticalLine.Color) self.assertEqual(DOTTED, border2.VerticalLine.LineStyle) self.assertEqual(90, border2.VerticalLine.LineWidth) self.__test_borderDistance(border2) # close document xDoc.dispose()
oSD = oHojaActiva.createSearchDescriptor() oSD.setSearchString(sRegion) oSD.SearchWords = True oSD.SearchCaseSensitive = True oSD.SearchType = 1 oBuscarEn = oHojaActiva.getCellRangeByName("A1:Z254") oEncontrado = oBuscarEn.findFirst(oSD) if not oEncontrado is None: oCursor = oHojaActiva.createCursorByRange(oEncontrado) oCursor.collapseToCurrentRegion() Tablas.FormatearRegion(oCursor, mColoresRegiones[i], mColumnasRegiones[i], mFilasTotalizadas[i], mColumnasConNombre[i]) oTableBorder = TableBorder() oBorderLine = BorderLine() # Cuadrito de resumen oBorderLine.OuterLineWidth = 5 oTableBorder.IsBottomLineValid = True oTableBorder.IsLeftLineValid = True oTableBorder.IsRightLineValid = True oTableBorder.IsTopLineValid = True oTableBorder.IsHorizontalLineValid = False oTableBorder.IsVerticalLineValid = False oTableBorder.LeftLine = oBorderLine oTableBorder.RightLine = oBorderLine oTableBorder.TopLine = oBorderLine oTableBorder.BottomLine = oBorderLine oSD = oHojaActiva.createSearchDescriptor() oSD.setSearchString("Resumen")
def FormatearRegion(oRango, color, ColumnasNumericas, UltimaFilaEsTotal, SegundaFilaEsTitulo): from com.sun.star.table import TableBorder from com.sun.star.table import BorderLine oBorderLine = BorderLine() oBorderLine.OuterLineWidth = 5 oTableBorder = TableBorder() oTableBorder.IsBottomLineValid = True oTableBorder.IsLeftLineValid = True oTableBorder.IsRightLineValid = True oTableBorder.IsTopLineValid = True oTableBorder.IsHorizontalLineValid = False oTableBorder.IsVerticalLineValid = False oTableBorder.LeftLine = oBorderLine oTableBorder.RightLine = oBorderLine oTableBorder.TopLine = oBorderLine oTableBorder.BottomLine = oBorderLine oSubRango = oRango.getCellRangeByPosition(0, 0, oRango.Columns.Count - 1, 0) oSubRango.CharFontName = "Arial" oSubRango.CharHeight = 12 oSubRango.CharWeight = 150 oSubRango.CellBackColor = color #oSubRango.CharColor = RGB(0,0,0) #RGB(255,255,204) #.HoriJustify = com.sun.star.table.CellHoriJustify.CENTER #.Rows.Height = 900 #.TableBorder = oTableBorder # si la 1º fila es ..... sacamos las negritas if oRango.getCellRangeByPosition( 0, 0, 0, 0).FormulaArray[0][0] == "Saldo Deudores x Vtas": oRango.getCellRangeByPosition(0, 0, oRango.Columns.Count - 1, 0).CharWeight = 100 oRango.getCellRangeByPosition(1, 0, 1, 0).NumberFormat = 104 # aca clavar el if si la 2ª fila es de titulo, entonces poner negritas if SegundaFilaEsTitulo: oRango.getCellRangeByPosition(0, 1, oRango.Columns.Count - 1, 1).CharWeight = 150 NumFilasTitulo = 2 else: NumFilasTitulo = 1 oSubRango = oRango.getCellRangeByPosition(0, 1, oRango.Columns.Count - 1, oRango.Rows.Count - 2) oSubRango.CharFontName = "Arial" oSubRango.CharHeight = 10 if UltimaFilaEsTotal: oSubRango = oRango.getCellRangeByPosition(0, oRango.Rows.Count - 1, oRango.Columns.Count - 1, oRango.Rows.Count - 1) oSubRango.CharFontName = "Arial" oSubRango.CharHeight = 10 oSubRango.CharWeight = 150 oSubRango.TableBorder = oTableBorder for i in ColumnasNumericas: oSubRango = oRango.getCellRangeByPosition(i, NumFilasTitulo, i, oRango.Rows.Count - 1) oSubRango.NumberFormat = 4 oSubRango.Columns.OptimalWidth = True