You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

48 lines
1.6 KiB

# Copyright 2019 Ecosoft Co., Ltd (http://ecosoft.co.th/)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html)
from odoo import models, api
import logging
_logger = logging.getLogger(__name__)
try:
from openpyxl.styles import colors, PatternFill, Alignment, Font
except ImportError:
_logger.debug(
'Cannot import "openpyxl". Please make sure it is installed.')
class XLSXStyles(models.AbstractModel):
_name = 'xlsx.styles'
_description = 'Available styles for excel'
@api.model
def get_openpyxl_styles(self):
""" List all syles that can be used with styleing directive #{...} """
return {
'font': {
'bold': Font(name="Arial", size=10, bold=True),
'bold_red': Font(name="Arial", size=10,
color=colors.RED, bold=True),
},
'fill': {
'red': PatternFill("solid", fgColor="FF0000"),
'grey': PatternFill("solid", fgColor="DDDDDD"),
'yellow': PatternFill("solid", fgColor="FFFCB7"),
'blue': PatternFill("solid", fgColor="9BF3FF"),
'green': PatternFill("solid", fgColor="B0FF99"),
},
'align': {
'left': Alignment(horizontal='left'),
'center': Alignment(horizontal='center'),
'right': Alignment(horizontal='right'),
},
'style': {
'number': '#,##0.00',
'date': 'dd/mm/yyyy',
'datestamp': 'yyyy-mm-dd',
'text': '@',
'percent': '0.00%',
},
}