|
"""
|
|
MOOWR - Annexure B - New.xlsx -- template generator
|
|
======================================================
|
|
|
|
Running this script builds the workbook from scratch using openpyxl: every
|
|
sheet, merged cell range, label, column width, row height, cell style, the
|
|
fixed reference-numbering row (1, 1A, 2, 3, ...) below each header, and the
|
|
autofilter dropdowns on that row are all defined here in Python (no embedded
|
|
file, no copying an existing workbook).
|
|
|
|
Sheets created (in this order):
|
|
Imports, DTA, Issued for MFR, Rmv for job work, Receive from Job work,
|
|
Clearance_E, Clearance_HC, As such, Waste_E, Waste_HC
|
|
|
|
Each data sheet has a fixed row of reference numbers (1, 1A, 2, 3, ...) right
|
|
below its column headers -- these numbers run sequentially across the whole
|
|
workbook (Imports: 1-14, DTA: 15-22, Rmv for job work: 27-33, Receive from
|
|
Job work: 34-38, Clearance_E: 39-53A, Clearance_HC: 54-67, As such: 68-81,
|
|
Waste_E: 82-100, Waste_HC: 101-108). "Issued for MFR" uses the continuous reference numbers 23-26. Autofilter (sort/filter dropdown arrows) is
|
|
enabled on that numbering row for Imports, Issued for MFR, Rmv for job work,
|
|
Receive from Job work, Clearance_E, and Clearance_HC -- the same sheets that
|
|
have it in the original template.
|
|
|
|
Usage:
|
|
python create_moowr_annexure_b.py [output_path]
|
|
|
|
If no output path is given, the file is written to your Downloads folder
|
|
(e.g. "C:\\Users\\<you>\\Downloads\\MOOWR - Annexure B - New.xlsx" on
|
|
Windows) regardless of the folder the script is run from. Pass an explicit
|
|
path (a bare filename, a relative path, or a full path) to override that.
|
|
"""
|
|
import sys
|
|
import os
|
|
import tempfile
|
|
from pathlib import Path
|
|
from copy import copy
|
|
|
|
from openpyxl import Workbook
|
|
from openpyxl.styles import Font, PatternFill, Border, Side, Alignment
|
|
from openpyxl.styles.colors import Color
|
|
from openpyxl.utils import get_column_letter
|
|
|
|
WORKBOOK_FILENAME = "MOOWR - Annexure B - New.xlsx"
|
|
|
|
|
|
def _downloads_directory():
|
|
"""Return the user's real Downloads directory.
|
|
|
|
On Windows, USERPROFILE is preferred so the output does not depend on
|
|
the directory from which VS Code or the terminal is running. If Downloads
|
|
is redirected to OneDrive, that location is used when available.
|
|
"""
|
|
if os.name == "nt":
|
|
user_profile = os.environ.get("USERPROFILE")
|
|
if user_profile:
|
|
downloads = Path(user_profile) / "Downloads"
|
|
else:
|
|
downloads = Path.home() / "Downloads"
|
|
|
|
if not downloads.exists():
|
|
one_drive = os.environ.get("OneDrive")
|
|
if one_drive:
|
|
redirected = Path(one_drive) / "Downloads"
|
|
if redirected.exists():
|
|
downloads = redirected
|
|
else:
|
|
downloads = Path.home() / "Downloads"
|
|
|
|
downloads.mkdir(parents=True, exist_ok=True)
|
|
return downloads
|
|
|
|
|
|
def _next_available_output_path():
|
|
"""Return a new, unused workbook path in Downloads.
|
|
|
|
Every execution creates a new workbook. If the normal filename already
|
|
exists, the function creates:
|
|
MOOWR - Annexure B (1).xlsx
|
|
MOOWR - Annexure B (2).xlsx
|
|
...
|
|
This means an existing workbook can remain open in Excel without causing
|
|
PermissionError or preventing a new workbook from being generated.
|
|
"""
|
|
downloads_dir = _downloads_directory()
|
|
|
|
base_name = "MOOWR - Annexure B"
|
|
extension = ".xlsx"
|
|
|
|
candidate = downloads_dir / f"{base_name}{extension}"
|
|
counter = 1
|
|
|
|
while candidate.exists():
|
|
candidate = downloads_dir / f"{base_name} ({counter}){extension}"
|
|
counter += 1
|
|
|
|
return candidate
|
|
|
|
|
|
def _default_output_path():
|
|
"""Return a fresh workbook path in the user's Downloads folder."""
|
|
return _next_available_output_path()
|
|
|
|
|
|
# =============================================================================
|
|
# STYLE REGISTRY
|
|
# =============================================================================
|
|
# Every distinct combination of font / fill / border / alignment / number
|
|
# format used anywhere in the workbook is defined once here and referenced
|
|
# by its integer id from the sheet-building functions below. This keeps the
|
|
# sheet functions readable (a style id instead of a wall of styling code on
|
|
# every line) while still reproducing the exact formatting of the original
|
|
# template.
|
|
|
|
STYLES = {
|
|
0: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': None, 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
1: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': 'single', 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
2: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '[$-14009]dd\\ mmmm\\ yyyy;@',
|
|
},
|
|
3: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': None, 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'mmm-yy',
|
|
},
|
|
4: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': None, 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
5: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF1A1A1A'}},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': None, 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
6: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'mmm-yy',
|
|
},
|
|
7: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'mmm-yy',
|
|
},
|
|
8: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF1A1A1A'}},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': None, 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
9: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
10: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': None, 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
11: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': None, 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
12: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
13: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
14: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': None, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
15: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
16: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': {'pattern': 'solid', 'fg': {'type': 'theme', 'value': 0, 'tint': 0.0}},
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
17: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': None, 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
18: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': None, 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
19: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
20: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': None, 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
21: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': None, 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
22: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': None, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': None, 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
23: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': None, 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
24: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': {'pattern': 'solid', 'fg': {'type': 'theme', 'value': 0, 'tint': 0.0}},
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
25: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
26: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': None, 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
27: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
28: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'h:mm AM/PM',
|
|
},
|
|
29: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': None, 'top': None, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
30: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
31: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
32: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': None, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
33: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': None, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
34: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': None, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'mm-dd-yy',
|
|
},
|
|
35: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': None, 'top': None, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'mm-dd-yy',
|
|
},
|
|
36: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': None, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
37: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
38: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': None, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
39: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': None, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '0.00',
|
|
},
|
|
40: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': None, 'top': None, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'mm-dd-yy',
|
|
},
|
|
41: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': None, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
42: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': None, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
43: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': None, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
44: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': None, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
45: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': None, 'top': None, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
46: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
47: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
48: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'yyyy\\-mm\\-dd;@',
|
|
},
|
|
49: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
50: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'mm-dd-yy',
|
|
},
|
|
51: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': None, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'mm-dd-yy',
|
|
},
|
|
52: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': None, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
53: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
54: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
55: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '0.00',
|
|
},
|
|
56: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': None, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'mm-dd-yy',
|
|
},
|
|
57: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
58: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
59: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
60: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
61: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': None, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
62: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
63: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
64: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'yyyy\\-mm\\-dd;@',
|
|
},
|
|
65: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
66: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'mm-dd-yy',
|
|
},
|
|
67: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': None, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'mm-dd-yy',
|
|
},
|
|
68: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': None, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
69: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
70: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
71: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '0.00',
|
|
},
|
|
72: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': None, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'mm-dd-yy',
|
|
},
|
|
73: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
74: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
75: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
76: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
77: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': None, 'top': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
78: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
79: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
80: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'yyyy\\-mm\\-dd;@',
|
|
},
|
|
81: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
82: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
83: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'yyyy\\-mm\\-dd;@',
|
|
},
|
|
84: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
85: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
86: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
87: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF1A1A1A'}},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
88: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF1A1A1A'}},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
89: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': {'pattern': 'solid', 'fg': {'type': 'rgb', 'value': 'FFFFFF00'}},
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
90: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
91: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': None, 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
92: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
93: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
94: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
95: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '@',
|
|
},
|
|
96: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'd-mmm-yy',
|
|
},
|
|
97: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'indexed', 'value': 8}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '@',
|
|
},
|
|
98: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'indexed', 'value': 8}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
99: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'indexed', 'value': 8}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '#,##0.00',
|
|
},
|
|
100: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '@',
|
|
},
|
|
101: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'd-mmm-yy',
|
|
},
|
|
102: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '@',
|
|
},
|
|
103: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'd-mmm-yy',
|
|
},
|
|
104: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'indexed', 'value': 8}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '@',
|
|
},
|
|
105: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'indexed', 'value': 8}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
106: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'indexed', 'value': 8}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '#,##0.00',
|
|
},
|
|
107: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '@',
|
|
},
|
|
108: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'd-mmm-yy',
|
|
},
|
|
109: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
110: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
111: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
112: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
113: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': 'single', 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
114: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': 'single', 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
115: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
116: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
117: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': {'style': 'medium', 'color': None}, 'bottom': None},
|
|
'align': {'h': None, 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
118: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': None},
|
|
'align': {'h': None, 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
119: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
120: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
121: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '[$-409]d/mmm/yyyy;@',
|
|
},
|
|
122: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'top', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
123: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
124: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
125: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '[$-409]d/mmm/yyyy;@',
|
|
},
|
|
126: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'top', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
127: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
128: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '[$-409]d/mmm/yyyy;@',
|
|
},
|
|
129: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'top', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
130: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
131: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': 'single', 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': None, 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
132: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
133: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FFFF0000'}},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
134: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'medium', 'color': None}, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
135: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'top': {'style': 'medium', 'color': None}, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
136: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': {'type': 'rgb', 'value': 'FF000000'}}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
137: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': None, 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
138: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '[$-409]d/mmm/yyyy;@',
|
|
},
|
|
139: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
140: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
141: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
142: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
143: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
144: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
145: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
146: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
147: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
148: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '[$-F800]dddd\\,\\ mmmm\\ dd\\,\\ yyyy',
|
|
},
|
|
149: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '[$-F800]dddd\\,\\ mmmm\\ dd\\,\\ yyyy',
|
|
},
|
|
150: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
151: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
152: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
153: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '[$-F800]dddd\\,\\ mmmm\\ dd\\,\\ yyyy',
|
|
},
|
|
154: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': 'single', 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
155: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
156: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
157: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
158: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
159: {
|
|
'font': {'name': 'Aptos', 'size': 12.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
160: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
161: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
162: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
163: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
164: {
|
|
'font': {'name': 'Aptos', 'size': 12.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
165: {
|
|
'font': {'name': 'Aptos', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'mm-dd-yy',
|
|
},
|
|
166: {
|
|
'font': {'name': 'Aptos', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
167: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'left', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
168: {
|
|
'font': {'name': 'Aptos', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
169: {
|
|
'font': {'name': 'Aptos', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'mm-dd-yy',
|
|
},
|
|
170: {
|
|
'font': {'name': 'Aptos', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
171: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'left', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
172: {
|
|
'font': {'name': 'Aptos', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
173: {
|
|
'font': {'name': 'Aptos', 'size': 12.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'mm-dd-yy',
|
|
},
|
|
174: {
|
|
'font': {'name': 'Aptos', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
175: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
176: {
|
|
'font': {'name': 'Aptos', 'size': 12.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': None, 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
177: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': None, 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
178: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'right', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
179: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': 'single', 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'd-mmm-yy',
|
|
},
|
|
180: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'd-mmm-yy',
|
|
},
|
|
181: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': None, 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
182: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': None, 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
183: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': None, 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
184: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'd-mmm-yy',
|
|
},
|
|
185: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
186: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
187: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'd-mmm-yy',
|
|
},
|
|
188: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '#,##0_ ;\\-#,##0\\ ',
|
|
},
|
|
189: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
190: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF002060'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'thin', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '[$-409]d/mmm/yyyy;@',
|
|
},
|
|
191: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'top', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '[$-409]d/mmm/yyyy;@',
|
|
},
|
|
192: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'top', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'd-mmm-yy',
|
|
},
|
|
193: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'top', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
194: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'top', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
195: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'top', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
196: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'top', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
197: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
198: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'left', 'v': 'top', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
199: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'top', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
200: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF000000'}},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': None, 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
201: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF002060'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'mm-dd-yy',
|
|
},
|
|
202: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': None, 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
203: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'd-mmm-yy',
|
|
},
|
|
204: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
205: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': None},
|
|
'align': {'h': 'center', 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
206: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': None},
|
|
'align': {'h': 'center', 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
207: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': None},
|
|
'align': {'h': 'center', 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
208: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': None},
|
|
'align': {'h': 'center', 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
209: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF002060'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
210: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF002060'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
211: {
|
|
'font': {'name': 'Aptos Narrow', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF002060'}},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
212: {
|
|
'font': {'name': 'Aptos', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
213: {
|
|
'font': {'name': 'Aptos', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '_ * #,##0.00_ ;_ * \\-#,##0.00_ ;_ * "-"??_ ;_ @_ ',
|
|
},
|
|
214: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': '[$-409]d/mmm/yyyy;@',
|
|
},
|
|
215: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'd-mmm-yy',
|
|
},
|
|
216: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
217: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
218: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
219: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
220: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF002060'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
221: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF002060'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
222: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF002060'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
223: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
224: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': {'style': 'medium', 'color': None}, 'top': None, 'bottom': None},
|
|
'align': {'h': None, 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
225: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
226: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
227: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': None, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': None, 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
228: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': None, 'right': {'style': 'medium', 'color': None}, 'top': None, 'bottom': {'style': 'thin', 'color': None}},
|
|
'align': {'h': None, 'v': None, 'wrap': None, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
229: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
230: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
231: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': None},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': None, 'bottom': None},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
232: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': True, 'italic': False, 'underline': None, 'color': {'type': 'rgb', 'value': 'FF002060'}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'medium', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
233: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'theme', 'value': 4, 'tint': 0.0}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'thin', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
234: {
|
|
'font': {'name': 'Calibri', 'size': 11.0, 'bold': False, 'italic': False, 'underline': None, 'color': {'type': 'theme', 'value': 4, 'tint': 0.0}},
|
|
'fill': None,
|
|
'border': {'left': {'style': 'thin', 'color': None}, 'right': {'style': 'medium', 'color': None}, 'top': {'style': 'medium', 'color': None}, 'bottom': {'style': 'medium', 'color': None}},
|
|
'align': {'h': 'center', 'v': 'center', 'wrap': True, 'rot': 0, 'shrink': None, 'indent': 0.0},
|
|
'nf': 'General',
|
|
},
|
|
}
|
|
|
|
|
|
# =============================================================================
|
|
# COMMON FORMATTING HELPERS
|
|
# =============================================================================
|
|
|
|
_font_cache = {}
|
|
_fill_cache = {}
|
|
_border_cache = {}
|
|
_alignment_cache = {}
|
|
|
|
|
|
def _get_color(spec):
|
|
"""Build an openpyxl Color from a {'type', 'value', 'tint'} spec (or None)."""
|
|
if spec is None:
|
|
return None
|
|
if spec['type'] == 'rgb':
|
|
return Color(rgb=spec['value'])
|
|
if spec['type'] == 'theme':
|
|
return Color(theme=spec['value'], tint=spec.get('tint', 0.0))
|
|
if spec['type'] == 'indexed':
|
|
return Color(indexed=spec['value'])
|
|
return None
|
|
|
|
|
|
def _get_font(spec):
|
|
"""Build (and cache) an openpyxl Font from a style spec's 'font' dict."""
|
|
if spec is None:
|
|
return None
|
|
key = tuple(sorted((k, str(v)) for k, v in spec.items()))
|
|
if key not in _font_cache:
|
|
_font_cache[key] = Font(
|
|
name=spec.get('name') or 'Calibri',
|
|
size=spec.get('size') or 11,
|
|
bold=bool(spec.get('bold')),
|
|
italic=bool(spec.get('italic')),
|
|
underline=spec.get('underline'),
|
|
color=_get_color(spec.get('color')),
|
|
)
|
|
return _font_cache[key]
|
|
|
|
|
|
def _get_fill(spec):
|
|
"""Build (and cache) an openpyxl PatternFill from a style spec's 'fill' dict."""
|
|
if spec is None:
|
|
return None
|
|
key = tuple(sorted((k, str(v)) for k, v in spec.items()))
|
|
if key not in _fill_cache:
|
|
fg = _get_color(spec.get('fg'))
|
|
_fill_cache[key] = PatternFill(
|
|
fill_type=spec.get('pattern') or 'solid',
|
|
fgColor=fg if fg is not None else Color(),
|
|
)
|
|
return _fill_cache[key]
|
|
|
|
|
|
def _get_border(spec):
|
|
"""Build (and cache) an openpyxl Border from a style spec's 'border' dict."""
|
|
if spec is None:
|
|
return None
|
|
key = tuple(
|
|
(side, None if v is None else (v.get('style'), str(v.get('color'))))
|
|
for side, v in sorted(spec.items())
|
|
)
|
|
if key not in _border_cache:
|
|
def _side(v):
|
|
if v is None:
|
|
return Side(style=None)
|
|
return Side(style=v.get('style'), color=_get_color(v.get('color')))
|
|
_border_cache[key] = Border(
|
|
left=_side(spec.get('left')),
|
|
right=_side(spec.get('right')),
|
|
top=_side(spec.get('top')),
|
|
bottom=_side(spec.get('bottom')),
|
|
)
|
|
return _border_cache[key]
|
|
|
|
|
|
def _get_alignment(spec):
|
|
"""Build (and cache) an openpyxl Alignment from a style spec's 'align' dict."""
|
|
if spec is None:
|
|
return None
|
|
key = tuple(sorted(spec.items()))
|
|
if key not in _alignment_cache:
|
|
_alignment_cache[key] = Alignment(
|
|
horizontal=spec.get('h'),
|
|
vertical=spec.get('v'),
|
|
wrap_text=spec.get('wrap'),
|
|
textRotation=spec.get('rot') or 0,
|
|
shrink_to_fit=spec.get('shrink'),
|
|
indent=spec.get('indent') or 0,
|
|
)
|
|
return _alignment_cache[key]
|
|
|
|
|
|
def apply_style(ws, coord, style_id):
|
|
"""Apply a registered STYLES[style_id] (font/fill/border/alignment/number
|
|
format) to the cell at `coord` without touching its value."""
|
|
spec = STYLES[style_id]
|
|
cell = ws[coord]
|
|
font = _get_font(spec['font'])
|
|
if font is not None:
|
|
cell.font = font
|
|
fill = _get_fill(spec['fill'])
|
|
if fill is not None:
|
|
cell.fill = fill
|
|
border = _get_border(spec['border'])
|
|
if border is not None:
|
|
cell.border = border
|
|
alignment = _get_alignment(spec['align'])
|
|
if alignment is not None:
|
|
cell.alignment = alignment
|
|
if spec['nf']:
|
|
cell.number_format = spec['nf']
|
|
|
|
|
|
def apply_border(ws, coord, style_id):
|
|
"""Alias of apply_style, kept as a distinct name for border-only call sites."""
|
|
apply_style(ws, coord, style_id)
|
|
|
|
|
|
def apply_header_style(ws, coord, value, style_id):
|
|
"""Write a header/label value into `coord` and apply its style."""
|
|
set_cell(ws, coord, value, style_id)
|
|
|
|
|
|
def set_cell(ws, coord, value=None, style_id=None):
|
|
"""Write `value` (if any) into `coord` and apply `style_id` (if any)."""
|
|
if value is not None:
|
|
ws[coord] = value
|
|
if style_id is not None:
|
|
apply_style(ws, coord, style_id)
|
|
|
|
|
|
def merge_cells(ws, range_string):
|
|
"""Merge a cell range, e.g. merge_cells(ws, "B2:Q2")."""
|
|
ws.merge_cells(range_string)
|
|
|
|
|
|
def set_column_widths(ws, widths):
|
|
"""widths: dict of {column_letter: width}."""
|
|
for col, width in widths.items():
|
|
ws.column_dimensions[col].width = width
|
|
|
|
|
|
def set_row_heights(ws, heights):
|
|
"""heights: dict of {row_number: height}."""
|
|
for row, height in heights.items():
|
|
ws.row_dimensions[row].height = height
|
|
|
|
|
|
|
|
# =============================================================================
|
|
# SHEET BUILDERS
|
|
# =============================================================================
|
|
|
|
def create_imports_sheet(wb):
|
|
"""Build the 'Imports' sheet exactly as in the original template."""
|
|
ws = wb.create_sheet('Imports')
|
|
ws.sheet_view.zoomScale = 67
|
|
|
|
set_column_widths(ws, {
|
|
'A': 19.21875,
|
|
'B': 12.6640625,
|
|
'C': 23.6640625,
|
|
'D': 24.33203125,
|
|
'E': 14.33203125,
|
|
'F': 22.6640625,
|
|
'G': 57.0,
|
|
'H': 25.5546875,
|
|
'I': 12.0,
|
|
'J': 12.44140625,
|
|
'K': 9.6640625,
|
|
'L': 12.33203125,
|
|
'M': 11.6640625,
|
|
'N': 14.77734375,
|
|
'O': 17.0,
|
|
'P': 9.0,
|
|
'Q': 12.88671875,
|
|
'R': 15.33203125,
|
|
'S': 11.88671875,
|
|
'T': 14.109375,
|
|
'U': 12.33203125,
|
|
'V': 8.6640625,
|
|
})
|
|
set_row_heights(ws, {
|
|
5: 15.45,
|
|
6: 15.45,
|
|
11: 15.0,
|
|
12: 14.25,
|
|
13: 16.2,
|
|
14: 74.85,
|
|
15: 15.0,
|
|
16: 28.5,
|
|
17: 28.5,
|
|
18: 28.5,
|
|
19: 28.5,
|
|
20: 28.5,
|
|
21: 28.5,
|
|
22: 28.5,
|
|
23: 28.5,
|
|
24: 28.5,
|
|
25: 28.5,
|
|
26: 28.5,
|
|
27: 28.5,
|
|
28: 28.8,
|
|
29: 28.8,
|
|
30: 28.8,
|
|
31: 28.8,
|
|
32: 28.8,
|
|
33: 29.4,
|
|
})
|
|
|
|
ws.auto_filter.ref = 'B15:T87'
|
|
|
|
for merge_range in [
|
|
'F13:F14',
|
|
'J13:J14',
|
|
'H13:H14',
|
|
'L13:L14',
|
|
'R13:R14',
|
|
'S13:S14',
|
|
'B2:S2',
|
|
'B13:B14',
|
|
'T13:T14',
|
|
'D13:D14',
|
|
'E13:E14',
|
|
'G13:G14',
|
|
'I13:I14',
|
|
'K13:K14',
|
|
'B12:T12',
|
|
'M13:Q13',
|
|
'C13:C14',
|
|
]:
|
|
merge_cells(ws, merge_range)
|
|
|
|
# --- labels / values --------------------------------------------------
|
|
set_cell(ws, 'S1', 'Annexure B', 0)
|
|
set_cell(ws, 'B2', ' Form to be maintained by a unit operating under section 65 of the Customs Act for the receipt, processing and removal of goods', 1)
|
|
set_cell(ws, 'B4', 'Name and address of the Unit:', 0)
|
|
set_cell(ws, 'M4', 'IEC:', 0)
|
|
set_cell(ws, 'M6', 'DATE:', 7)
|
|
set_cell(ws, 'M8', 'Commissionerate:', 0)
|
|
set_cell(ws, 'B10', 'GSTIN:', 0)
|
|
set_cell(ws, 'B12', 'RECEIPTS (IMPORTS)', 9)
|
|
set_cell(ws, 'B13', 'Bill of Entry No. ', 12)
|
|
set_cell(ws, 'C13', 'Bill of Entry Date', 13)
|
|
set_cell(ws, 'D13', 'Customs Station of import', 14)
|
|
set_cell(ws, 'E13', 'Details of Bond', 14)
|
|
set_cell(ws, 'F13', 'Details of insurance ', 13)
|
|
set_cell(ws, 'G13', 'Description of goods', 15)
|
|
set_cell(ws, 'H13', 'Invoice No. ', 13)
|
|
set_cell(ws, 'I13', 'Invoice date', 13)
|
|
set_cell(ws, 'J13', 'Quantity ', 13)
|
|
set_cell(ws, 'K13', 'Unit quantity code', 13)
|
|
set_cell(ws, 'L13', 'Assessable \nValue', 16)
|
|
set_cell(ws, 'M13', 'Duty assessed', 16)
|
|
set_cell(ws, 'R13', 'Registration No. of means of transport', 13)
|
|
set_cell(ws, 'S13', 'One-time Lock no.', 13)
|
|
set_cell(ws, 'T13', 'Date and time of receipt at the warehouse', 19)
|
|
set_cell(ws, 'M14', 'BCD', 24)
|
|
set_cell(ws, 'N14', 'SWS CESS', 25)
|
|
set_cell(ws, 'O14', 'IGST', 25)
|
|
set_cell(ws, 'P14', 'Comp. cess', 25)
|
|
set_cell(ws, 'Q14', 'Total Duty', 25)
|
|
set_cell(ws, 'B15', 1, 27)
|
|
set_cell(ws, 'C15', '1A', 28)
|
|
set_cell(ws, 'D15', 2, 29)
|
|
set_cell(ws, 'E15', 3, 29)
|
|
set_cell(ws, 'F15', 4, 30)
|
|
set_cell(ws, 'G15', 5, 31)
|
|
set_cell(ws, 'H15', 6, 30)
|
|
set_cell(ws, 'I15', '6A', 30)
|
|
set_cell(ws, 'J15', 7, 30)
|
|
set_cell(ws, 'K15', '7A', 30)
|
|
set_cell(ws, 'L15', 8, 30)
|
|
set_cell(ws, 'M15', 9, 30)
|
|
set_cell(ws, 'N15', '9A', 30)
|
|
set_cell(ws, 'O15', 10, 30)
|
|
set_cell(ws, 'P15', 11, 30)
|
|
set_cell(ws, 'Q15', '11A', 30)
|
|
set_cell(ws, 'R15', 12, 30)
|
|
set_cell(ws, 'S15', 13, 30)
|
|
set_cell(ws, 'T15', 14, 32)
|
|
|
|
# --- blank formatted cells (data-entry area) --------------------------
|
|
apply_style(ws, 'B3', 1)
|
|
apply_style(ws, 'C3', 1)
|
|
apply_style(ws, 'D3', 1)
|
|
apply_style(ws, 'E3', 1)
|
|
apply_style(ws, 'F3', 1)
|
|
apply_style(ws, 'G3', 1)
|
|
apply_style(ws, 'H3', 1)
|
|
apply_style(ws, 'I3', 1)
|
|
apply_style(ws, 'J3', 1)
|
|
apply_style(ws, 'K3', 1)
|
|
apply_style(ws, 'L3', 1)
|
|
apply_style(ws, 'M3', 1)
|
|
apply_style(ws, 'N3', 1)
|
|
apply_style(ws, 'O3', 1)
|
|
apply_style(ws, 'P3', 1)
|
|
apply_style(ws, 'Q3', 1)
|
|
apply_style(ws, 'R3', 1)
|
|
apply_style(ws, 'S3', 1)
|
|
apply_style(ws, 'G4', 2)
|
|
apply_style(ws, 'J4', 2)
|
|
apply_style(ws, 'K4', 3)
|
|
apply_style(ws, 'N4', 4)
|
|
apply_style(ws, 'O4', 4)
|
|
apply_style(ws, 'P4', 4)
|
|
apply_style(ws, 'B5', 5)
|
|
apply_style(ws, 'C5', 5)
|
|
apply_style(ws, 'G5', 6)
|
|
apply_style(ws, 'M5', 7)
|
|
for row in range(6, 9):
|
|
for col in ['B', 'C']:
|
|
apply_style(ws, f"{col}{row}", 8)
|
|
apply_style(ws, 'M7', 4)
|
|
apply_style(ws, 'N7', 4)
|
|
apply_style(ws, 'N8', 0)
|
|
apply_style(ws, 'D10', 4)
|
|
apply_style(ws, 'C12', 10)
|
|
apply_style(ws, 'D12', 10)
|
|
apply_style(ws, 'E12', 10)
|
|
apply_style(ws, 'F12', 10)
|
|
apply_style(ws, 'G12', 10)
|
|
apply_style(ws, 'H12', 10)
|
|
apply_style(ws, 'I12', 10)
|
|
apply_style(ws, 'J12', 10)
|
|
apply_style(ws, 'K12', 10)
|
|
apply_style(ws, 'L12', 10)
|
|
apply_style(ws, 'M12', 10)
|
|
apply_style(ws, 'N12', 10)
|
|
apply_style(ws, 'O12', 10)
|
|
apply_style(ws, 'P12', 10)
|
|
apply_style(ws, 'Q12', 10)
|
|
apply_style(ws, 'R12', 10)
|
|
apply_style(ws, 'S12', 10)
|
|
apply_style(ws, 'T12', 11)
|
|
apply_style(ws, 'N13', 17)
|
|
apply_style(ws, 'O13', 17)
|
|
apply_style(ws, 'P13', 17)
|
|
apply_style(ws, 'Q13', 18)
|
|
apply_style(ws, 'B14', 20)
|
|
apply_style(ws, 'C14', 21)
|
|
apply_style(ws, 'F14', 21)
|
|
apply_style(ws, 'H14', 21)
|
|
apply_style(ws, 'I14', 21)
|
|
apply_style(ws, 'J14', 21)
|
|
apply_style(ws, 'K14', 21)
|
|
apply_style(ws, 'L14', 21)
|
|
apply_style(ws, 'R14', 21)
|
|
apply_style(ws, 'S14', 21)
|
|
apply_style(ws, 'D14', 22)
|
|
apply_style(ws, 'E14', 22)
|
|
apply_style(ws, 'G14', 23)
|
|
apply_style(ws, 'T14', 26)
|
|
apply_style(ws, 'B16', 33)
|
|
apply_style(ws, 'C16', 34)
|
|
apply_style(ws, 'D16', 35)
|
|
apply_style(ws, 'E16', 36)
|
|
apply_style(ws, 'F16', 37)
|
|
apply_style(ws, 'G16', 38)
|
|
apply_style(ws, 'H16', 39)
|
|
apply_style(ws, 'I16', 40)
|
|
apply_style(ws, 'J16', 41)
|
|
apply_style(ws, 'K16', 42)
|
|
apply_style(ws, 'L16', 43)
|
|
apply_style(ws, 'M16', 43)
|
|
apply_style(ws, 'N16', 44)
|
|
apply_style(ws, 'O16', 44)
|
|
apply_style(ws, 'P16', 45)
|
|
apply_style(ws, 'Q16', 46)
|
|
apply_style(ws, 'R16', 47)
|
|
apply_style(ws, 'S16', 47)
|
|
apply_style(ws, 'T16', 48)
|
|
for row in range(17, 33):
|
|
apply_style(ws, f"B{row}", 49)
|
|
for row in range(17, 33):
|
|
apply_style(ws, f"C{row}", 50)
|
|
for row in range(17, 33):
|
|
apply_style(ws, f"D{row}", 51)
|
|
for row in range(17, 33):
|
|
apply_style(ws, f"E{row}", 52)
|
|
for row in range(17, 33):
|
|
apply_style(ws, f"F{row}", 53)
|
|
for row in range(17, 33):
|
|
apply_style(ws, f"G{row}", 54)
|
|
for row in range(17, 33):
|
|
apply_style(ws, f"H{row}", 55)
|
|
for row in range(17, 33):
|
|
apply_style(ws, f"I{row}", 56)
|
|
for row in range(17, 33):
|
|
apply_style(ws, f"J{row}", 57)
|
|
for row in range(17, 33):
|
|
apply_style(ws, f"K{row}", 58)
|
|
for row in range(17, 33):
|
|
for col in ['L', 'M']:
|
|
apply_style(ws, f"{col}{row}", 59)
|
|
for row in range(17, 33):
|
|
for col in ['N', 'O']:
|
|
apply_style(ws, f"{col}{row}", 60)
|
|
for row in range(17, 33):
|
|
apply_style(ws, f"P{row}", 61)
|
|
for row in range(17, 33):
|
|
apply_style(ws, f"Q{row}", 62)
|
|
for row in range(17, 33):
|
|
for col in ['R', 'S']:
|
|
apply_style(ws, f"{col}{row}", 63)
|
|
for row in range(17, 33):
|
|
apply_style(ws, f"T{row}", 64)
|
|
apply_style(ws, 'B33', 65)
|
|
apply_style(ws, 'C33', 66)
|
|
apply_style(ws, 'D33', 67)
|
|
apply_style(ws, 'E33', 68)
|
|
apply_style(ws, 'F33', 69)
|
|
apply_style(ws, 'G33', 70)
|
|
apply_style(ws, 'H33', 71)
|
|
apply_style(ws, 'I33', 72)
|
|
apply_style(ws, 'J33', 73)
|
|
apply_style(ws, 'K33', 74)
|
|
apply_style(ws, 'L33', 75)
|
|
apply_style(ws, 'M33', 75)
|
|
apply_style(ws, 'N33', 76)
|
|
apply_style(ws, 'O33', 76)
|
|
apply_style(ws, 'P33', 77)
|
|
apply_style(ws, 'Q33', 78)
|
|
apply_style(ws, 'R33', 79)
|
|
apply_style(ws, 'S33', 79)
|
|
apply_style(ws, 'T33', 80)
|
|
apply_style(ws, 'T34', 83)
|
|
for row in range(34, 52):
|
|
for col in ['B', 'C', 'D', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S']:
|
|
apply_style(ws, f"{col}{row}", 81)
|
|
for row in range(34, 88):
|
|
apply_style(ws, f"E{row}", 81)
|
|
for row in range(34, 88):
|
|
apply_style(ws, f"F{row}", 82)
|
|
for row in range(35, 52):
|
|
apply_style(ws, f"T{row}", 81)
|
|
|
|
return ws
|
|
|
|
|
|
def create_dta_sheet(wb):
|
|
"""Build the 'DTA' sheet exactly as in the original template."""
|
|
ws = wb.create_sheet('DTA')
|
|
ws.sheet_view.zoomScale = 58
|
|
|
|
set_column_widths(ws, {
|
|
'A': 23.33203125,
|
|
'B': 45.77734375,
|
|
'C': 16.77734375,
|
|
'D': 21.0,
|
|
'E': 17.21875,
|
|
'F': 17.21875,
|
|
'G': 11.77734375,
|
|
'H': 10.21875,
|
|
'J': 11.77734375,
|
|
'L': 16.5546875,
|
|
'M': 13.21875,
|
|
'N': 22.77734375,
|
|
'O': 13.77734375,
|
|
'P': 12.77734375,
|
|
'Q': 12.21875,
|
|
'R': 8.77734375,
|
|
})
|
|
set_row_heights(ws, {
|
|
1: 19.95,
|
|
2: 19.95,
|
|
3: 19.95,
|
|
4: 19.95,
|
|
5: 19.95,
|
|
6: 19.95,
|
|
7: 19.95,
|
|
8: 19.95,
|
|
9: 19.95,
|
|
10: 19.95,
|
|
11: 19.95,
|
|
12: 19.95,
|
|
13: 19.95,
|
|
14: 19.95,
|
|
15: 34.2,
|
|
16: 19.95,
|
|
17: 19.95,
|
|
18: 19.95,
|
|
19: 19.95,
|
|
20: 19.95,
|
|
21: 19.95,
|
|
22: 19.95,
|
|
23: 19.95,
|
|
24: 19.95,
|
|
25: 19.95,
|
|
26: 19.95,
|
|
27: 19.95,
|
|
})
|
|
|
|
for merge_range in [
|
|
'N14:N15',
|
|
'M14:M15',
|
|
'B13:N13',
|
|
'C14:C15',
|
|
'B3:O3',
|
|
'E14:E15',
|
|
'D14:D15',
|
|
'B14:B15',
|
|
'G14:G15',
|
|
'F14:F15',
|
|
]:
|
|
merge_cells(ws, merge_range)
|
|
|
|
# --- labels / values --------------------------------------------------
|
|
set_cell(ws, 'N1', 'Annexure B', 84)
|
|
set_cell(ws, 'B3', ' Form to be maintained by a unit operating under section 65 of the Customs Act for the receipt, processing and removal of goods', 1)
|
|
set_cell(ws, 'B5', 'Name and address of the Unit:', 85)
|
|
set_cell(ws, 'L5', 'IEC:', 85)
|
|
set_cell(ws, 'L7', 'DATE:', 7)
|
|
set_cell(ws, 'L9', 'Commissionerate:', 85)
|
|
set_cell(ws, 'B11', 'GSTIN:', 87)
|
|
set_cell(ws, 'B13', 'RECEIPTS (DTA)', 89)
|
|
set_cell(ws, 'B14', 'GST Invoice No. ', 12)
|
|
set_cell(ws, 'C14', 'GST Invoice date', 13)
|
|
set_cell(ws, 'D14', 'Description of goods', 13)
|
|
set_cell(ws, 'E14', 'Quantity', 13)
|
|
set_cell(ws, 'F14', 'UQC', 90)
|
|
set_cell(ws, 'G14', '\nValue', 13)
|
|
set_cell(ws, 'H14', 'Tax paid', 13)
|
|
set_cell(ws, 'M14', 'E-way bill no. \n(if applicable)', 13)
|
|
set_cell(ws, 'N14', 'Date and time of receipt at the warehouse', 19)
|
|
set_cell(ws, 'H15', 'SGST', 25)
|
|
set_cell(ws, 'I15', 'CGST', 25)
|
|
set_cell(ws, 'J15', 'IGST', 25)
|
|
set_cell(ws, 'K15', 'Total GST', 92)
|
|
set_cell(ws, 'L15', 'Comp. cess', 25)
|
|
set_cell(ws, 'B16', 15, 9)
|
|
set_cell(ws, 'C16', '15A', 90)
|
|
set_cell(ws, 'D16', 16, 90)
|
|
set_cell(ws, 'E16', 17, 90)
|
|
set_cell(ws, 'F16', '17A', 90)
|
|
set_cell(ws, 'G16', 18, 90)
|
|
set_cell(ws, 'H16', 19, 90)
|
|
set_cell(ws, 'I16', '19A', 90)
|
|
set_cell(ws, 'J16', '19B', 90)
|
|
set_cell(ws, 'K16', '19C', 93)
|
|
set_cell(ws, 'L16', 20, 90)
|
|
set_cell(ws, 'M16', 21, 90)
|
|
set_cell(ws, 'N16', 22, 94)
|
|
|
|
# --- blank formatted cells (data-entry area) --------------------------
|
|
apply_style(ws, 'N2', 84)
|
|
apply_style(ws, 'B4', 1)
|
|
apply_style(ws, 'C4', 1)
|
|
apply_style(ws, 'D4', 1)
|
|
apply_style(ws, 'E4', 1)
|
|
apply_style(ws, 'F4', 1)
|
|
apply_style(ws, 'G4', 1)
|
|
apply_style(ws, 'H4', 1)
|
|
apply_style(ws, 'I4', 1)
|
|
apply_style(ws, 'J4', 1)
|
|
apply_style(ws, 'K4', 1)
|
|
apply_style(ws, 'L4', 1)
|
|
apply_style(ws, 'M4', 1)
|
|
apply_style(ws, 'N4', 1)
|
|
apply_style(ws, 'O4', 1)
|
|
apply_style(ws, 'J5', 3)
|
|
apply_style(ws, 'M5', 86)
|
|
apply_style(ws, 'B6', 87)
|
|
apply_style(ws, 'L6', 85)
|
|
apply_style(ws, 'M6', 85)
|
|
apply_style(ws, 'M7', 85)
|
|
apply_style(ws, 'D7', 2)
|
|
apply_style(ws, 'G7', 2)
|
|
for row in range(7, 11):
|
|
apply_style(ws, f"B{row}", 88)
|
|
for row in range(9, 12):
|
|
for col in ['M', 'N']:
|
|
apply_style(ws, f"{col}{row}", 85)
|
|
apply_style(ws, 'L10', 85)
|
|
apply_style(ws, 'L11', 85)
|
|
apply_style(ws, 'C11', 85)
|
|
apply_style(ws, 'N13', 11)
|
|
apply_style(ws, 'C13', 10)
|
|
apply_style(ws, 'D13', 10)
|
|
apply_style(ws, 'E13', 10)
|
|
apply_style(ws, 'F13', 10)
|
|
apply_style(ws, 'G13', 10)
|
|
apply_style(ws, 'H13', 10)
|
|
apply_style(ws, 'I13', 10)
|
|
apply_style(ws, 'J13', 10)
|
|
apply_style(ws, 'K13', 10)
|
|
apply_style(ws, 'L13', 10)
|
|
apply_style(ws, 'M13', 10)
|
|
apply_style(ws, 'I14', 13)
|
|
apply_style(ws, 'J14', 13)
|
|
apply_style(ws, 'K14', 13)
|
|
apply_style(ws, 'L14', 13)
|
|
apply_style(ws, 'N15', 26)
|
|
apply_style(ws, 'B15', 20)
|
|
apply_style(ws, 'C15', 21)
|
|
apply_style(ws, 'D15', 21)
|
|
apply_style(ws, 'E15', 21)
|
|
apply_style(ws, 'G15', 21)
|
|
apply_style(ws, 'M15', 21)
|
|
apply_style(ws, 'F15', 91)
|
|
apply_style(ws, 'N17', 101)
|
|
apply_style(ws, 'B17', 95)
|
|
apply_style(ws, 'C17', 96)
|
|
apply_style(ws, 'D17', 97)
|
|
apply_style(ws, 'E17', 98)
|
|
apply_style(ws, 'F17', 98)
|
|
apply_style(ws, 'G17', 99)
|
|
apply_style(ws, 'H17', 99)
|
|
apply_style(ws, 'I17', 99)
|
|
apply_style(ws, 'J17', 99)
|
|
apply_style(ws, 'K17', 99)
|
|
apply_style(ws, 'L17', 99)
|
|
apply_style(ws, 'M17', 100)
|
|
apply_style(ws, 'N18', 108)
|
|
apply_style(ws, 'N19', 108)
|
|
apply_style(ws, 'B18', 102)
|
|
apply_style(ws, 'B19', 102)
|
|
apply_style(ws, 'C18', 103)
|
|
apply_style(ws, 'C19', 103)
|
|
apply_style(ws, 'D18', 104)
|
|
apply_style(ws, 'D19', 104)
|
|
apply_style(ws, 'E18', 105)
|
|
apply_style(ws, 'E19', 105)
|
|
apply_style(ws, 'F18', 105)
|
|
apply_style(ws, 'F19', 105)
|
|
apply_style(ws, 'G18', 106)
|
|
apply_style(ws, 'G19', 106)
|
|
apply_style(ws, 'H18', 106)
|
|
apply_style(ws, 'H19', 106)
|
|
apply_style(ws, 'I18', 106)
|
|
apply_style(ws, 'I19', 106)
|
|
apply_style(ws, 'J18', 106)
|
|
apply_style(ws, 'J19', 106)
|
|
apply_style(ws, 'K18', 106)
|
|
apply_style(ws, 'K19', 106)
|
|
apply_style(ws, 'L18', 106)
|
|
apply_style(ws, 'L19', 106)
|
|
apply_style(ws, 'M18', 107)
|
|
apply_style(ws, 'M19', 107)
|
|
for row in range(20, 27):
|
|
apply_style(ws, f"N{row}", 110)
|
|
for row in range(20, 27):
|
|
apply_style(ws, f"B{row}", 109)
|
|
for row in range(20, 27):
|
|
for col in ['C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M']:
|
|
apply_style(ws, f"{col}{row}", 63)
|
|
apply_style(ws, 'N27', 112)
|
|
apply_style(ws, 'B27', 111)
|
|
apply_style(ws, 'C27', 79)
|
|
apply_style(ws, 'D27', 79)
|
|
apply_style(ws, 'E27', 79)
|
|
apply_style(ws, 'F27', 79)
|
|
apply_style(ws, 'G27', 79)
|
|
apply_style(ws, 'H27', 79)
|
|
apply_style(ws, 'I27', 79)
|
|
apply_style(ws, 'J27', 79)
|
|
apply_style(ws, 'K27', 79)
|
|
apply_style(ws, 'L27', 79)
|
|
apply_style(ws, 'M27', 79)
|
|
|
|
return ws
|
|
|
|
|
|
def create_issued_for_mfr_sheet(wb):
|
|
"""Build the 'Issued for MFR' sheet exactly as in the original template."""
|
|
ws = wb.create_sheet('Issued for MFR')
|
|
ws.sheet_view.zoomScale = 70
|
|
|
|
set_column_widths(ws, {
|
|
'A': 14.77734375,
|
|
'B': 20.88671875,
|
|
'C': 65.21875,
|
|
'D': 20.44140625,
|
|
'E': 14.33203125,
|
|
'F': 53.33203125,
|
|
'G': 42.88671875,
|
|
})
|
|
set_row_heights(ws, {
|
|
10: 15.0,
|
|
11: 15.0,
|
|
12: 15.0,
|
|
13: 15.0,
|
|
69: 15.0,
|
|
})
|
|
|
|
ws.auto_filter.ref = 'B14:E14'
|
|
|
|
for merge_range in [
|
|
'B12:E12',
|
|
'B11:E11',
|
|
'B2:E2',
|
|
]:
|
|
merge_cells(ws, merge_range)
|
|
|
|
# --- labels / values --------------------------------------------------
|
|
set_cell(ws, 'F1', 'Annexure B', 85)
|
|
set_cell(ws, 'B2', ' Form to be maintained by a unit operating under section 65 of the Customs Act for the receipt, processing and removal of goods', 113)
|
|
set_cell(ws, 'B4', 'Name and address of the Unit:', 85)
|
|
set_cell(ws, 'D4', 'IEC:', 85)
|
|
set_cell(ws, 'D6', 'DATE:', 7)
|
|
set_cell(ws, 'D8', 'Commissionerate:', 85)
|
|
set_cell(ws, 'B10', 'GSTIN:', 85)
|
|
set_cell(ws, 'B11', 'PROCESSING', 116)
|
|
set_cell(ws, 'B12', 'Goods issued for manufacturing or other operations', 119)
|
|
set_cell(ws, 'B13', 'Date of Issue', 119)
|
|
set_cell(ws, 'C13', 'Description of goods', 93)
|
|
set_cell(ws, 'D13', 'Qty. with UQC', 93)
|
|
set_cell(ws, 'E13', 'Value', 120)
|
|
|
|
# Continuous reference numbers for the Issued for MFR section.
|
|
# This section follows DTA references 15-22, so it uses 23-26.
|
|
set_cell(ws, 'B14', '23', 121)
|
|
set_cell(ws, 'C14', '24', 122)
|
|
set_cell(ws, 'D14', '25', 37)
|
|
set_cell(ws, 'E14', '26', 123)
|
|
|
|
# --- blank formatted cells (data-entry area) --------------------------
|
|
apply_style(ws, 'F2', 114)
|
|
apply_style(ws, 'F3', 114)
|
|
apply_style(ws, 'G2', 114)
|
|
apply_style(ws, 'G3', 114)
|
|
apply_style(ws, 'H2', 114)
|
|
apply_style(ws, 'H3', 114)
|
|
apply_style(ws, 'I2', 114)
|
|
apply_style(ws, 'I3', 114)
|
|
apply_style(ws, 'J2', 114)
|
|
apply_style(ws, 'J3', 114)
|
|
apply_style(ws, 'K2', 114)
|
|
apply_style(ws, 'K3', 114)
|
|
apply_style(ws, 'L2', 114)
|
|
apply_style(ws, 'L3', 114)
|
|
apply_style(ws, 'M2', 114)
|
|
apply_style(ws, 'M3', 114)
|
|
apply_style(ws, 'N2', 114)
|
|
apply_style(ws, 'N3', 114)
|
|
apply_style(ws, 'O2', 114)
|
|
apply_style(ws, 'O3', 114)
|
|
apply_style(ws, 'P2', 114)
|
|
apply_style(ws, 'P3', 114)
|
|
apply_style(ws, 'Q2', 114)
|
|
apply_style(ws, 'Q3', 114)
|
|
apply_style(ws, 'R2', 114)
|
|
apply_style(ws, 'R3', 114)
|
|
apply_style(ws, 'B3', 114)
|
|
apply_style(ws, 'D3', 114)
|
|
apply_style(ws, 'E3', 114)
|
|
apply_style(ws, 'C3', 113)
|
|
apply_style(ws, 'E4', 86)
|
|
for row in range(4, 8):
|
|
for col in ['G', 'H', 'I', 'J', 'K', 'L', 'P', 'Q', 'R']:
|
|
apply_style(ws, f"{col}{row}", 85)
|
|
for row in range(4, 8):
|
|
apply_style(ws, f"C{row}", 115)
|
|
apply_style(ws, 'B5', 87)
|
|
apply_style(ws, 'D5', 85)
|
|
apply_style(ws, 'E5', 85)
|
|
for row in range(5, 8):
|
|
for col in ['M', 'N', 'O']:
|
|
apply_style(ws, f"{col}{row}", 85)
|
|
for row in range(5, 9):
|
|
apply_style(ws, f"F{row}", 85)
|
|
for row in range(6, 9):
|
|
apply_style(ws, f"B{row}", 88)
|
|
apply_style(ws, 'E7', 85)
|
|
apply_style(ws, 'E8', 85)
|
|
apply_style(ws, 'D10', 85)
|
|
apply_style(ws, 'E10', 85)
|
|
apply_style(ws, 'F10', 85)
|
|
apply_style(ws, 'G10', 85)
|
|
apply_style(ws, 'H10', 85)
|
|
apply_style(ws, 'I10', 85)
|
|
apply_style(ws, 'J10', 85)
|
|
apply_style(ws, 'K10', 85)
|
|
apply_style(ws, 'L10', 85)
|
|
apply_style(ws, 'Q10', 85)
|
|
apply_style(ws, 'R10', 85)
|
|
apply_style(ws, 'C10', 86)
|
|
apply_style(ws, 'C11', 117)
|
|
apply_style(ws, 'D11', 117)
|
|
apply_style(ws, 'E11', 118)
|
|
apply_style(ws, 'C12', 10)
|
|
apply_style(ws, 'D12', 10)
|
|
apply_style(ws, 'E12', 11)
|
|
apply_style(ws, 'B14', 121)
|
|
apply_style(ws, 'C14', 122)
|
|
apply_style(ws, 'D14', 37)
|
|
apply_style(ws, 'E14', 123)
|
|
for row in range(14, 34):
|
|
apply_style(ws, f"F{row}", 124)
|
|
for row in range(15, 69):
|
|
apply_style(ws, f"B{row}", 125)
|
|
for row in range(15, 69):
|
|
apply_style(ws, f"C{row}", 126)
|
|
for row in range(15, 69):
|
|
apply_style(ws, f"D{row}", 53)
|
|
for row in range(15, 69):
|
|
apply_style(ws, f"E{row}", 127)
|
|
apply_style(ws, 'B69', 128)
|
|
apply_style(ws, 'C69', 129)
|
|
apply_style(ws, 'D69', 69)
|
|
apply_style(ws, 'E69', 130)
|
|
|
|
return ws
|
|
|
|
|
|
def create_rmv_for_job_work_sheet(wb):
|
|
"""Build the 'Rmv for job work' sheet exactly as in the original template."""
|
|
ws = wb.create_sheet('Rmv for job work')
|
|
ws.sheet_view.zoomScale = 55
|
|
|
|
set_column_widths(ws, {
|
|
'A': 36.21875,
|
|
'B': 27.6640625,
|
|
'C': 44.77734375,
|
|
'D': 45.88671875,
|
|
'E': 17.109375,
|
|
'F': 17.44140625,
|
|
'G': 20.5546875,
|
|
'H': 26.88671875,
|
|
'I': 41.0,
|
|
'J': 25.5546875,
|
|
'K': 8.88671875,
|
|
'L': 9.0,
|
|
'M': 8.88671875,
|
|
})
|
|
set_row_heights(ws, {
|
|
10: 15.0,
|
|
11: 15.0,
|
|
12: 15.0,
|
|
14: 15.0,
|
|
15: 15.0,
|
|
16: 28.5,
|
|
17: 14.25,
|
|
18: 57.6,
|
|
19: 43.8,
|
|
})
|
|
|
|
ws.auto_filter.ref = 'B15:J46'
|
|
|
|
for merge_range in [
|
|
'F13:F14',
|
|
'B11:J11',
|
|
'B13:B14',
|
|
'E13:E14',
|
|
'D13:D14',
|
|
'H13:J13',
|
|
'G13:G14',
|
|
'B12:J12',
|
|
'B2:J2',
|
|
'C13:C14',
|
|
]:
|
|
merge_cells(ws, merge_range)
|
|
|
|
# --- labels / values --------------------------------------------------
|
|
set_cell(ws, 'J1', 'Annexure B', 0)
|
|
set_cell(ws, 'B2', ' Form to be maintained by a unit operating under section 65 of the Customs Act for the receipt, processing and removal of goods', 1)
|
|
set_cell(ws, 'B4', 'Name and address of the Unit:', 0)
|
|
set_cell(ws, 'H4', 'IEC:', 0)
|
|
set_cell(ws, 'H6', 'DATE:', 7)
|
|
set_cell(ws, 'H8', 'Commissionerate:', 0)
|
|
set_cell(ws, 'B10', 'GSTIN:', 0)
|
|
set_cell(ws, 'B12', 'Removal for Job work', 9)
|
|
set_cell(ws, 'B13', 'Date & Time of removal', 12)
|
|
set_cell(ws, 'C13', 'Description of goods', 13)
|
|
set_cell(ws, 'D13', 'Description as per BE', 13)
|
|
set_cell(ws, 'E13', 'Qty. with UQC', 13)
|
|
set_cell(ws, 'F13', 'Value', 13)
|
|
set_cell(ws, 'G13', 'DC No.', 13)
|
|
set_cell(ws, 'H13', 'Details of Job worker', 13)
|
|
set_cell(ws, 'H14', 'Name', 25)
|
|
set_cell(ws, 'I14', 'Address', 25)
|
|
set_cell(ws, 'J14', 'GSTIN (if applicable)', 132)
|
|
set_cell(ws, 'B15', 27, 134)
|
|
set_cell(ws, 'C15', 28, 135)
|
|
set_cell(ws, 'D15', '28A', 135)
|
|
set_cell(ws, 'E15', 29, 135)
|
|
set_cell(ws, 'F15', 30, 135)
|
|
set_cell(ws, 'G15', 31, 135)
|
|
set_cell(ws, 'H15', 32, 135)
|
|
set_cell(ws, 'I15', '32A', 135)
|
|
set_cell(ws, 'J15', 33, 136)
|
|
|
|
# --- blank formatted cells (data-entry area) --------------------------
|
|
apply_style(ws, 'B1', 4)
|
|
apply_style(ws, 'C1', 4)
|
|
apply_style(ws, 'D1', 4)
|
|
apply_style(ws, 'E1', 4)
|
|
apply_style(ws, 'F1', 4)
|
|
apply_style(ws, 'G1', 4)
|
|
apply_style(ws, 'H1', 4)
|
|
apply_style(ws, 'I1', 4)
|
|
apply_style(ws, 'K2', 131)
|
|
apply_style(ws, 'L2', 131)
|
|
apply_style(ws, 'M2', 131)
|
|
apply_style(ws, 'N2', 131)
|
|
apply_style(ws, 'O2', 131)
|
|
apply_style(ws, 'P2', 131)
|
|
apply_style(ws, 'Q2', 131)
|
|
apply_style(ws, 'R2', 131)
|
|
apply_style(ws, 'S2', 131)
|
|
apply_style(ws, 'B3', 1)
|
|
apply_style(ws, 'C3', 1)
|
|
apply_style(ws, 'D3', 1)
|
|
apply_style(ws, 'E3', 1)
|
|
apply_style(ws, 'F3', 1)
|
|
apply_style(ws, 'G3', 1)
|
|
apply_style(ws, 'H3', 1)
|
|
apply_style(ws, 'I3', 1)
|
|
apply_style(ws, 'J3', 1)
|
|
apply_style(ws, 'K3', 1)
|
|
apply_style(ws, 'L3', 1)
|
|
apply_style(ws, 'M3', 1)
|
|
apply_style(ws, 'N3', 1)
|
|
apply_style(ws, 'O3', 1)
|
|
apply_style(ws, 'P3', 1)
|
|
apply_style(ws, 'Q3', 1)
|
|
apply_style(ws, 'R3', 1)
|
|
apply_style(ws, 'S3', 1)
|
|
apply_style(ws, 'I4', 4)
|
|
apply_style(ws, 'J4', 4)
|
|
apply_style(ws, 'F4', 0)
|
|
apply_style(ws, 'F5', 0)
|
|
for row in range(4, 8):
|
|
for col in ['C', 'D', 'E', 'G', 'L', 'M', 'Q', 'R', 'S']:
|
|
apply_style(ws, f"{col}{row}", 0)
|
|
apply_style(ws, 'B5', 5)
|
|
apply_style(ws, 'H5', 0)
|
|
apply_style(ws, 'I5', 0)
|
|
for row in range(5, 8):
|
|
for col in ['J', 'K', 'N', 'O', 'P']:
|
|
apply_style(ws, f"{col}{row}", 0)
|
|
apply_style(ws, 'F6', 2)
|
|
apply_style(ws, 'I6', 2)
|
|
for row in range(6, 9):
|
|
apply_style(ws, f"B{row}", 8)
|
|
apply_style(ws, 'F7', 0)
|
|
apply_style(ws, 'H7', 3)
|
|
apply_style(ws, 'I7', 7)
|
|
apply_style(ws, 'F8', 4)
|
|
apply_style(ws, 'G8', 4)
|
|
apply_style(ws, 'J8', 4)
|
|
apply_style(ws, 'D8', 4)
|
|
apply_style(ws, 'D9', 4)
|
|
apply_style(ws, 'E8', 4)
|
|
apply_style(ws, 'E9', 4)
|
|
for row in range(8, 11):
|
|
apply_style(ws, f"C{row}", 4)
|
|
for row in range(8, 11):
|
|
apply_style(ws, f"I{row}", 0)
|
|
apply_style(ws, 'B9', 4)
|
|
apply_style(ws, 'F9', 0)
|
|
apply_style(ws, 'F10', 0)
|
|
apply_style(ws, 'G9', 0)
|
|
apply_style(ws, 'G10', 0)
|
|
apply_style(ws, 'H9', 0)
|
|
apply_style(ws, 'H10', 0)
|
|
apply_style(ws, 'J9', 0)
|
|
apply_style(ws, 'J10', 0)
|
|
apply_style(ws, 'D10', 0)
|
|
apply_style(ws, 'E10', 0)
|
|
apply_style(ws, 'K10', 0)
|
|
apply_style(ws, 'L10', 0)
|
|
apply_style(ws, 'M10', 0)
|
|
apply_style(ws, 'R10', 0)
|
|
apply_style(ws, 'S10', 0)
|
|
apply_style(ws, 'B11', 9)
|
|
apply_style(ws, 'C11', 10)
|
|
apply_style(ws, 'C12', 10)
|
|
apply_style(ws, 'D11', 10)
|
|
apply_style(ws, 'D12', 10)
|
|
apply_style(ws, 'E11', 10)
|
|
apply_style(ws, 'E12', 10)
|
|
apply_style(ws, 'F11', 10)
|
|
apply_style(ws, 'F12', 10)
|
|
apply_style(ws, 'G11', 10)
|
|
apply_style(ws, 'G12', 10)
|
|
apply_style(ws, 'H11', 10)
|
|
apply_style(ws, 'H12', 10)
|
|
apply_style(ws, 'I11', 10)
|
|
apply_style(ws, 'I12', 10)
|
|
apply_style(ws, 'J11', 11)
|
|
apply_style(ws, 'J12', 11)
|
|
apply_style(ws, 'I13', 17)
|
|
apply_style(ws, 'J13', 18)
|
|
apply_style(ws, 'B14', 20)
|
|
apply_style(ws, 'C14', 21)
|
|
apply_style(ws, 'D14', 21)
|
|
apply_style(ws, 'E14', 21)
|
|
apply_style(ws, 'F14', 21)
|
|
apply_style(ws, 'G14', 21)
|
|
apply_style(ws, 'K14', 133)
|
|
apply_style(ws, 'B16', 138)
|
|
apply_style(ws, 'C16', 139)
|
|
apply_style(ws, 'E16', 139)
|
|
apply_style(ws, 'G16', 139)
|
|
apply_style(ws, 'D16', 140)
|
|
apply_style(ws, 'F16', 141)
|
|
apply_style(ws, 'H16', 142)
|
|
apply_style(ws, 'I16', 142)
|
|
apply_style(ws, 'J16', 143)
|
|
apply_style(ws, 'A17', 137)
|
|
apply_style(ws, 'B17', 125)
|
|
apply_style(ws, 'D17', 144)
|
|
apply_style(ws, 'E17', 53)
|
|
apply_style(ws, 'G17', 53)
|
|
apply_style(ws, 'C17', 53)
|
|
apply_style(ws, 'C18', 53)
|
|
apply_style(ws, 'F17', 145)
|
|
apply_style(ws, 'F18', 145)
|
|
apply_style(ws, 'H17', 146)
|
|
apply_style(ws, 'H18', 146)
|
|
apply_style(ws, 'I17', 146)
|
|
apply_style(ws, 'I18', 146)
|
|
apply_style(ws, 'J17', 147)
|
|
apply_style(ws, 'J18', 147)
|
|
apply_style(ws, 'B18', 148)
|
|
apply_style(ws, 'D18', 53)
|
|
apply_style(ws, 'E18', 63)
|
|
apply_style(ws, 'G18', 63)
|
|
apply_style(ws, 'B19', 149)
|
|
apply_style(ws, 'C19', 69)
|
|
apply_style(ws, 'D19', 69)
|
|
apply_style(ws, 'E19', 79)
|
|
apply_style(ws, 'G19', 79)
|
|
apply_style(ws, 'F19', 150)
|
|
apply_style(ws, 'H19', 151)
|
|
apply_style(ws, 'I19', 151)
|
|
apply_style(ws, 'J19', 152)
|
|
for row in range(20, 47):
|
|
apply_style(ws, f"B{row}", 153)
|
|
|
|
return ws
|
|
|
|
|
|
def create_receive_from_job_work_sheet(wb):
|
|
"""Build the 'Receive from Job work' sheet exactly as in the original template."""
|
|
ws = wb.create_sheet('Receive from Job work')
|
|
ws.sheet_view.zoomScale = 71
|
|
|
|
set_column_widths(ws, {
|
|
'A': 27.88671875,
|
|
'B': 26.33203125,
|
|
'C': 50.0,
|
|
'D': 15.88671875,
|
|
'E': 20.77734375,
|
|
'F': 21.77734375,
|
|
'G': 15.109375,
|
|
'H': 8.6640625,
|
|
})
|
|
set_row_heights(ws, {
|
|
11: 15.0,
|
|
12: 15.0,
|
|
14: 15.0,
|
|
15: 15.0,
|
|
16: 43.2,
|
|
17: 43.2,
|
|
18: 43.2,
|
|
19: 43.8,
|
|
20: 15.6,
|
|
21: 15.6,
|
|
22: 15.6,
|
|
23: 15.6,
|
|
24: 15.6,
|
|
25: 15.6,
|
|
26: 14.25,
|
|
})
|
|
|
|
ws.auto_filter.ref = 'B15:F26'
|
|
|
|
for merge_range in [
|
|
'F13:F14',
|
|
'B12:F12',
|
|
'B2:F2',
|
|
'B13:B14',
|
|
'E13:E14',
|
|
'D13:D14',
|
|
'C13:C14',
|
|
]:
|
|
merge_cells(ws, merge_range)
|
|
|
|
# --- labels / values --------------------------------------------------
|
|
set_cell(ws, 'F1', 'Annexure B', 0)
|
|
set_cell(ws, 'B2', ' Form to be maintained by a unit operating under section 65 of the Customs Act for the receipt, processing and removal of goods', 154)
|
|
set_cell(ws, 'B4', 'Name and address of the Unit:', 0)
|
|
set_cell(ws, 'E4', 'IEC:', 85)
|
|
set_cell(ws, 'E6', 'DATE:', 7)
|
|
set_cell(ws, 'E8', 'Commissionerate:', 85)
|
|
set_cell(ws, 'B10', 'GSTIN:', 0)
|
|
set_cell(ws, 'B12', 'Returns to unit after job work', 9)
|
|
set_cell(ws, 'B13', 'Date & time of return', 12)
|
|
set_cell(ws, 'C13', 'Description of goods', 13)
|
|
set_cell(ws, 'D13', 'Qty. with UQC', 13)
|
|
set_cell(ws, 'E13', 'Value', 13)
|
|
set_cell(ws, 'F13', 'DC No.', 19)
|
|
set_cell(ws, 'B15', 34, 155)
|
|
set_cell(ws, 'C15', 35, 156)
|
|
set_cell(ws, 'D15', 36, 156)
|
|
set_cell(ws, 'E15', 37, 157)
|
|
set_cell(ws, 'F15', 38, 158)
|
|
|
|
# --- blank formatted cells (data-entry area) --------------------------
|
|
apply_style(ws, 'B1', 4)
|
|
apply_style(ws, 'C1', 4)
|
|
apply_style(ws, 'D1', 4)
|
|
apply_style(ws, 'E1', 4)
|
|
apply_style(ws, 'H1', 4)
|
|
apply_style(ws, 'I1', 4)
|
|
apply_style(ws, 'J1', 4)
|
|
apply_style(ws, 'K1', 4)
|
|
apply_style(ws, 'L1', 4)
|
|
apply_style(ws, 'M1', 4)
|
|
apply_style(ws, 'N1', 4)
|
|
apply_style(ws, 'O1', 4)
|
|
apply_style(ws, 'P1', 4)
|
|
apply_style(ws, 'Q1', 4)
|
|
apply_style(ws, 'G1', 0)
|
|
apply_style(ws, 'G2', 131)
|
|
apply_style(ws, 'H2', 131)
|
|
apply_style(ws, 'I2', 131)
|
|
apply_style(ws, 'J2', 131)
|
|
apply_style(ws, 'K2', 131)
|
|
apply_style(ws, 'L2', 131)
|
|
apply_style(ws, 'M2', 131)
|
|
apply_style(ws, 'N2', 131)
|
|
apply_style(ws, 'O2', 131)
|
|
apply_style(ws, 'P2', 131)
|
|
apply_style(ws, 'Q2', 131)
|
|
apply_style(ws, 'R2', 131)
|
|
apply_style(ws, 'B3', 1)
|
|
apply_style(ws, 'C3', 1)
|
|
apply_style(ws, 'D3', 1)
|
|
apply_style(ws, 'E3', 1)
|
|
apply_style(ws, 'F3', 1)
|
|
apply_style(ws, 'G3', 1)
|
|
apply_style(ws, 'H3', 1)
|
|
apply_style(ws, 'I3', 1)
|
|
apply_style(ws, 'J3', 1)
|
|
apply_style(ws, 'K3', 1)
|
|
apply_style(ws, 'L3', 1)
|
|
apply_style(ws, 'M3', 1)
|
|
apply_style(ws, 'N3', 1)
|
|
apply_style(ws, 'O3', 1)
|
|
apply_style(ws, 'P3', 1)
|
|
apply_style(ws, 'Q3', 1)
|
|
apply_style(ws, 'R3', 1)
|
|
apply_style(ws, 'D4', 0)
|
|
apply_style(ws, 'D5', 0)
|
|
for row in range(4, 8):
|
|
for col in ['C', 'G', 'H', 'I', 'J', 'K', 'L', 'P', 'Q', 'R']:
|
|
apply_style(ws, f"{col}{row}", 0)
|
|
for row in range(4, 9):
|
|
apply_style(ws, f"F{row}", 85)
|
|
apply_style(ws, 'B5', 5)
|
|
apply_style(ws, 'E5', 85)
|
|
for row in range(5, 8):
|
|
for col in ['M', 'N', 'O']:
|
|
apply_style(ws, f"{col}{row}", 0)
|
|
apply_style(ws, 'D6', 2)
|
|
for row in range(6, 9):
|
|
apply_style(ws, f"B{row}", 8)
|
|
apply_style(ws, 'D7', 3)
|
|
apply_style(ws, 'E7', 85)
|
|
apply_style(ws, 'D8', 4)
|
|
apply_style(ws, 'D9', 4)
|
|
apply_style(ws, 'G8', 4)
|
|
apply_style(ws, 'G9', 4)
|
|
apply_style(ws, 'H8', 4)
|
|
apply_style(ws, 'H9', 4)
|
|
apply_style(ws, 'I8', 4)
|
|
apply_style(ws, 'I9', 4)
|
|
apply_style(ws, 'J8', 4)
|
|
apply_style(ws, 'J9', 4)
|
|
apply_style(ws, 'K8', 4)
|
|
apply_style(ws, 'K9', 4)
|
|
apply_style(ws, 'L8', 4)
|
|
apply_style(ws, 'L9', 4)
|
|
apply_style(ws, 'M8', 4)
|
|
apply_style(ws, 'M9', 4)
|
|
apply_style(ws, 'N8', 4)
|
|
apply_style(ws, 'N9', 4)
|
|
apply_style(ws, 'O8', 4)
|
|
apply_style(ws, 'O9', 4)
|
|
apply_style(ws, 'P8', 4)
|
|
apply_style(ws, 'P9', 4)
|
|
apply_style(ws, 'Q8', 4)
|
|
apply_style(ws, 'Q9', 4)
|
|
apply_style(ws, 'R8', 4)
|
|
apply_style(ws, 'R9', 4)
|
|
for row in range(8, 11):
|
|
apply_style(ws, f"C{row}", 4)
|
|
apply_style(ws, 'B9', 4)
|
|
apply_style(ws, 'E9', 4)
|
|
apply_style(ws, 'F9', 4)
|
|
apply_style(ws, 'D10', 0)
|
|
apply_style(ws, 'E10', 0)
|
|
apply_style(ws, 'F10', 0)
|
|
apply_style(ws, 'H10', 0)
|
|
apply_style(ws, 'I10', 0)
|
|
apply_style(ws, 'J10', 0)
|
|
apply_style(ws, 'K10', 0)
|
|
apply_style(ws, 'L10', 0)
|
|
apply_style(ws, 'Q10', 0)
|
|
apply_style(ws, 'R10', 0)
|
|
apply_style(ws, 'C12', 10)
|
|
apply_style(ws, 'D12', 10)
|
|
apply_style(ws, 'E12', 10)
|
|
apply_style(ws, 'F12', 11)
|
|
apply_style(ws, 'B14', 20)
|
|
apply_style(ws, 'C14', 21)
|
|
apply_style(ws, 'D14', 21)
|
|
apply_style(ws, 'E14', 21)
|
|
apply_style(ws, 'G14', 133)
|
|
apply_style(ws, 'F14', 26)
|
|
apply_style(ws, 'B16', 138)
|
|
apply_style(ws, 'C16', 139)
|
|
apply_style(ws, 'D16', 139)
|
|
apply_style(ws, 'E16', 160)
|
|
apply_style(ws, 'F16', 161)
|
|
apply_style(ws, 'A17', 159)
|
|
apply_style(ws, 'B17', 125)
|
|
apply_style(ws, 'C17', 53)
|
|
apply_style(ws, 'D17', 53)
|
|
apply_style(ws, 'E17', 162)
|
|
apply_style(ws, 'F17', 163)
|
|
apply_style(ws, 'B18', 165)
|
|
apply_style(ws, 'C18', 166)
|
|
apply_style(ws, 'D18', 166)
|
|
apply_style(ws, 'E18', 167)
|
|
apply_style(ws, 'F18', 168)
|
|
for row in range(18, 23):
|
|
apply_style(ws, f"A{row}", 164)
|
|
apply_style(ws, 'B19', 169)
|
|
apply_style(ws, 'C19', 170)
|
|
apply_style(ws, 'D19', 170)
|
|
apply_style(ws, 'E19', 171)
|
|
apply_style(ws, 'F19', 172)
|
|
apply_style(ws, 'D20', 174)
|
|
for row in range(20, 23):
|
|
apply_style(ws, f"B{row}", 173)
|
|
for row in range(20, 26):
|
|
for col in ['C', 'F']:
|
|
apply_style(ws, f"{col}{row}", 164)
|
|
for row in range(20, 26):
|
|
apply_style(ws, f"E{row}", 175)
|
|
for row in range(21, 26):
|
|
apply_style(ws, f"D{row}", 164)
|
|
for row in range(23, 27):
|
|
for col in ['A', 'B']:
|
|
apply_style(ws, f"{col}{row}", 176)
|
|
|
|
return ws
|
|
|
|
|
|
def create_clearance_e_sheet(wb):
|
|
"""Build the 'Clearance_E' sheet exactly as in the original template."""
|
|
ws = wb.create_sheet('Clearance_E')
|
|
ws.sheet_view.zoomScale = 60
|
|
|
|
set_column_widths(ws, {
|
|
'A': 2.33203125,
|
|
'B': 28.33203125,
|
|
'C': 32.44140625,
|
|
'D': 18.77734375,
|
|
'E': 18.6640625,
|
|
'G': 30.6640625,
|
|
'H': 15.21875,
|
|
'I': 12.33203125,
|
|
'J': 26.33203125,
|
|
'K': 15.21875,
|
|
'L': 15.21875,
|
|
'M': 16.44140625,
|
|
'N': 28.6640625,
|
|
'O': 11.44140625,
|
|
'P': 13.5546875,
|
|
'Q': 11.109375,
|
|
'R': 12.33203125,
|
|
'S': 15.88671875,
|
|
'T': 16.44140625,
|
|
'U': 11.44140625,
|
|
'V': 15.21875,
|
|
'W': 15.21875,
|
|
'X': 12.88671875,
|
|
'Y': 8.6640625,
|
|
})
|
|
set_row_heights(ws, {
|
|
12: 15.0,
|
|
13: 15.0,
|
|
14: 23.1,
|
|
15: 11.7,
|
|
16: 42.0,
|
|
17: 15.0,
|
|
18: 15.0,
|
|
})
|
|
|
|
ws.auto_filter.ref = 'B17:X440'
|
|
|
|
for merge_range in [
|
|
'T15:X15',
|
|
'J15:J16',
|
|
'R15:R16',
|
|
'L15:M15',
|
|
'E15:E16',
|
|
'G15:G16',
|
|
'B14:L14',
|
|
'Q15:Q16',
|
|
'S15:S16',
|
|
'B15:B16',
|
|
'D15:D16',
|
|
'M14:X14',
|
|
'B13:X13',
|
|
'H15:H16',
|
|
'B2:Q2',
|
|
'N15:N16',
|
|
'P15:P16',
|
|
'C15:C16',
|
|
'I15:I16',
|
|
'K15:K16',
|
|
'O15:O16',
|
|
]:
|
|
merge_cells(ws, merge_range)
|
|
|
|
# --- labels / values --------------------------------------------------
|
|
set_cell(ws, 'X1', 'Annexure B', 178)
|
|
set_cell(ws, 'B2', ' Form to be maintained by a unit operating under section 65 of the Customs Act for the receipt, processing and removal of goods', 1)
|
|
set_cell(ws, 'B4', 'Name and address of the Unit:', 85)
|
|
set_cell(ws, 'S4', 'IEC:', 85)
|
|
set_cell(ws, 'S6', 'DATE:', 7)
|
|
set_cell(ws, 'S8', 'Commissionerate:', 85)
|
|
set_cell(ws, 'B10', 'GSTIN:', 84)
|
|
set_cell(ws, 'B13', 'RESULTANT PRODUCTS (CLEARANCE FOR EXPORT)', 119)
|
|
set_cell(ws, 'B14', 'Resultant products exported', 9)
|
|
set_cell(ws, 'M14', 'Quantity of warehoused goods contained in so much of the resultant products exported', 9)
|
|
set_cell(ws, 'B15', 'Date and time of removal', 12)
|
|
set_cell(ws, 'C15', '\nShipping Bill No. and date', 13)
|
|
set_cell(ws, 'D15', 'GST\nInvoice No.', 13)
|
|
set_cell(ws, 'E15', 'GST\nInvoice date', 13)
|
|
set_cell(ws, 'G15', 'Description of goods', 13)
|
|
set_cell(ws, 'H15', 'Quantity', 13)
|
|
set_cell(ws, 'I15', 'Unit Quantity Code', 16)
|
|
set_cell(ws, 'J15', 'Assessable Value', 16)
|
|
set_cell(ws, 'K15', 'Export duty', 16)
|
|
set_cell(ws, 'L15', 'Tax paid (if\napplicable)', 16)
|
|
set_cell(ws, 'N15', 'Description of goods', 13)
|
|
set_cell(ws, 'O15', 'Bill of Entry No.', 13)
|
|
set_cell(ws, 'P15', 'Bill of entry Date', 184)
|
|
set_cell(ws, 'Q15', 'Quantity ', 13)
|
|
set_cell(ws, 'R15', 'Unit Quantity Code', 13)
|
|
set_cell(ws, 'S15', 'Assessable Value', 185)
|
|
set_cell(ws, 'T15', 'Duty Involved', 13)
|
|
set_cell(ws, 'F16', 'FG Serial Number', 25)
|
|
set_cell(ws, 'L16', 'IGST', 24)
|
|
set_cell(ws, 'M16', 'Comp. cess', 24)
|
|
set_cell(ws, 'T16', 'BCD', 186)
|
|
set_cell(ws, 'U16', 'SWS', 186)
|
|
set_cell(ws, 'V16', 'IGST', 186)
|
|
set_cell(ws, 'W16', 'Comp. cess', 25)
|
|
set_cell(ws, 'X16', 'Total Duty', 132)
|
|
set_cell(ws, 'B17', 39, 119)
|
|
set_cell(ws, 'C17', 40, 93)
|
|
set_cell(ws, 'D17', 41, 93)
|
|
set_cell(ws, 'E17', '41A', 93)
|
|
set_cell(ws, 'F17', '41B', 93)
|
|
set_cell(ws, 'G17', 42, 93)
|
|
set_cell(ws, 'H17', 43, 93)
|
|
set_cell(ws, 'I17', '43A', 93)
|
|
set_cell(ws, 'J17', 44, 93)
|
|
set_cell(ws, 'K17', 45, 93)
|
|
set_cell(ws, 'L17', 46, 93)
|
|
set_cell(ws, 'M17', 47, 93)
|
|
set_cell(ws, 'N17', 48, 90)
|
|
set_cell(ws, 'O17', '48A', 93)
|
|
set_cell(ws, 'P17', '48B', 187)
|
|
set_cell(ws, 'Q17', 49, 93)
|
|
set_cell(ws, 'R17', '49A', 93)
|
|
set_cell(ws, 'S17', 50, 188)
|
|
set_cell(ws, 'T17', 51, 188)
|
|
set_cell(ws, 'U17', '51A', 189)
|
|
set_cell(ws, 'V17', 52, 93)
|
|
set_cell(ws, 'W17', 53, 93)
|
|
set_cell(ws, 'X17', '53A', 120)
|
|
|
|
# --- blank formatted cells (data-entry area) --------------------------
|
|
for row in range(1, 4):
|
|
for col in ['S', 'T', 'U', 'V']:
|
|
apply_style(ws, f"{col}{row}", 177)
|
|
apply_style(ws, 'B3', 1)
|
|
apply_style(ws, 'C3', 1)
|
|
apply_style(ws, 'D3', 1)
|
|
apply_style(ws, 'E3', 1)
|
|
apply_style(ws, 'F3', 1)
|
|
apply_style(ws, 'G3', 1)
|
|
apply_style(ws, 'H3', 1)
|
|
apply_style(ws, 'I3', 1)
|
|
apply_style(ws, 'J3', 1)
|
|
apply_style(ws, 'K3', 1)
|
|
apply_style(ws, 'L3', 1)
|
|
apply_style(ws, 'M3', 1)
|
|
apply_style(ws, 'O3', 1)
|
|
apply_style(ws, 'Q3', 1)
|
|
apply_style(ws, 'N3', 154)
|
|
apply_style(ws, 'P3', 179)
|
|
apply_style(ws, 'T4', 181)
|
|
apply_style(ws, 'U4', 181)
|
|
apply_style(ws, 'I4', 84)
|
|
apply_style(ws, 'I5', 84)
|
|
for row in range(4, 7):
|
|
apply_style(ws, f"H{row}", 84)
|
|
for row in range(4, 8):
|
|
apply_style(ws, f"V{row}", 182)
|
|
for row in range(4, 8):
|
|
for col in ['D', 'E', 'F', 'K', 'Q', 'R', 'W']:
|
|
apply_style(ws, f"{col}{row}", 84)
|
|
for row in range(4, 8):
|
|
apply_style(ws, f"P{row}", 180)
|
|
apply_style(ws, 'S5', 85)
|
|
apply_style(ws, 'B5', 87)
|
|
for row in range(5, 8):
|
|
for col in ['T', 'U']:
|
|
apply_style(ws, f"{col}{row}", 183)
|
|
apply_style(ws, 'I6', 2)
|
|
apply_style(ws, 'J6', 2)
|
|
for row in range(6, 9):
|
|
apply_style(ws, f"B{row}", 88)
|
|
apply_style(ws, 'S7', 3)
|
|
apply_style(ws, 'H7', 180)
|
|
apply_style(ws, 'I7', 84)
|
|
apply_style(ws, 'T8', 84)
|
|
apply_style(ws, 'U8', 181)
|
|
apply_style(ws, 'U9', 181)
|
|
apply_style(ws, 'V8', 177)
|
|
apply_style(ws, 'V9', 177)
|
|
apply_style(ws, 'S9', 177)
|
|
apply_style(ws, 'T9', 86)
|
|
apply_style(ws, 'S10', 182)
|
|
apply_style(ws, 'V10', 182)
|
|
apply_style(ws, 'T10', 85)
|
|
apply_style(ws, 'D10', 84)
|
|
apply_style(ws, 'E10', 84)
|
|
apply_style(ws, 'F10', 84)
|
|
apply_style(ws, 'H10', 84)
|
|
apply_style(ws, 'I10', 84)
|
|
apply_style(ws, 'K10', 84)
|
|
apply_style(ws, 'Q10', 84)
|
|
apply_style(ws, 'R10', 84)
|
|
apply_style(ws, 'U10', 84)
|
|
apply_style(ws, 'W10', 84)
|
|
apply_style(ws, 'C10', 4)
|
|
apply_style(ws, 'P10', 180)
|
|
apply_style(ws, 'S11', 177)
|
|
apply_style(ws, 'S12', 177)
|
|
apply_style(ws, 'T11', 177)
|
|
apply_style(ws, 'T12', 177)
|
|
apply_style(ws, 'U11', 177)
|
|
apply_style(ws, 'U12', 177)
|
|
apply_style(ws, 'V11', 177)
|
|
apply_style(ws, 'V12', 177)
|
|
apply_style(ws, 'L13', 10)
|
|
apply_style(ws, 'M13', 10)
|
|
apply_style(ws, 'C13', 10)
|
|
apply_style(ws, 'C14', 10)
|
|
apply_style(ws, 'D13', 10)
|
|
apply_style(ws, 'D14', 10)
|
|
apply_style(ws, 'E13', 10)
|
|
apply_style(ws, 'E14', 10)
|
|
apply_style(ws, 'F13', 10)
|
|
apply_style(ws, 'F14', 10)
|
|
apply_style(ws, 'G13', 10)
|
|
apply_style(ws, 'G14', 10)
|
|
apply_style(ws, 'H13', 10)
|
|
apply_style(ws, 'H14', 10)
|
|
apply_style(ws, 'I13', 10)
|
|
apply_style(ws, 'I14', 10)
|
|
apply_style(ws, 'J13', 10)
|
|
apply_style(ws, 'J14', 10)
|
|
apply_style(ws, 'K13', 10)
|
|
apply_style(ws, 'K14', 10)
|
|
apply_style(ws, 'N13', 10)
|
|
apply_style(ws, 'N14', 10)
|
|
apply_style(ws, 'O13', 10)
|
|
apply_style(ws, 'O14', 10)
|
|
apply_style(ws, 'P13', 10)
|
|
apply_style(ws, 'P14', 10)
|
|
apply_style(ws, 'Q13', 10)
|
|
apply_style(ws, 'Q14', 10)
|
|
apply_style(ws, 'R13', 10)
|
|
apply_style(ws, 'R14', 10)
|
|
apply_style(ws, 'S13', 10)
|
|
apply_style(ws, 'S14', 10)
|
|
apply_style(ws, 'T13', 10)
|
|
apply_style(ws, 'T14', 10)
|
|
apply_style(ws, 'U13', 10)
|
|
apply_style(ws, 'U14', 10)
|
|
apply_style(ws, 'V13', 10)
|
|
apply_style(ws, 'V14', 10)
|
|
apply_style(ws, 'W13', 10)
|
|
apply_style(ws, 'W14', 10)
|
|
apply_style(ws, 'X13', 11)
|
|
apply_style(ws, 'X14', 11)
|
|
apply_style(ws, 'L14', 11)
|
|
apply_style(ws, 'U15', 17)
|
|
apply_style(ws, 'V15', 17)
|
|
apply_style(ws, 'W15', 17)
|
|
apply_style(ws, 'F15', 13)
|
|
apply_style(ws, 'M15', 18)
|
|
apply_style(ws, 'X15', 18)
|
|
apply_style(ws, 'C16', 21)
|
|
apply_style(ws, 'D16', 21)
|
|
apply_style(ws, 'E16', 21)
|
|
apply_style(ws, 'G16', 21)
|
|
apply_style(ws, 'H16', 21)
|
|
apply_style(ws, 'I16', 21)
|
|
apply_style(ws, 'J16', 21)
|
|
apply_style(ws, 'K16', 21)
|
|
apply_style(ws, 'N16', 21)
|
|
apply_style(ws, 'O16', 21)
|
|
apply_style(ws, 'P16', 21)
|
|
apply_style(ws, 'Q16', 21)
|
|
apply_style(ws, 'R16', 21)
|
|
apply_style(ws, 'S16', 21)
|
|
apply_style(ws, 'B16', 20)
|
|
apply_style(ws, 'B18', 190)
|
|
apply_style(ws, 'C18', 190)
|
|
apply_style(ws, 'D18', 190)
|
|
apply_style(ws, 'E18', 190)
|
|
apply_style(ws, 'F18', 190)
|
|
apply_style(ws, 'G18', 190)
|
|
apply_style(ws, 'H18', 190)
|
|
apply_style(ws, 'I18', 190)
|
|
apply_style(ws, 'J18', 190)
|
|
apply_style(ws, 'K18', 190)
|
|
apply_style(ws, 'L18', 190)
|
|
apply_style(ws, 'M18', 190)
|
|
apply_style(ws, 'N18', 190)
|
|
apply_style(ws, 'O18', 190)
|
|
apply_style(ws, 'P18', 190)
|
|
apply_style(ws, 'Q18', 190)
|
|
apply_style(ws, 'R18', 190)
|
|
apply_style(ws, 'S18', 190)
|
|
apply_style(ws, 'T18', 190)
|
|
apply_style(ws, 'U18', 190)
|
|
apply_style(ws, 'V18', 190)
|
|
apply_style(ws, 'W18', 190)
|
|
apply_style(ws, 'X18', 190)
|
|
for row in range(19, 23):
|
|
for col in ['J', 'K', 'L', 'M']:
|
|
apply_style(ws, f"{col}{row}", 195)
|
|
for row in range(19, 441):
|
|
for col in ['S', 'T', 'U', 'V', 'X']:
|
|
apply_style(ws, f"{col}{row}", 81)
|
|
for row in range(19, 441):
|
|
apply_style(ws, f"B{row}", 191)
|
|
for row in range(19, 441):
|
|
for col in ['C', 'E']:
|
|
apply_style(ws, f"{col}{row}", 192)
|
|
for row in range(19, 441):
|
|
for col in ['D', 'F', 'H']:
|
|
apply_style(ws, f"{col}{row}", 193)
|
|
for row in range(19, 441):
|
|
apply_style(ws, f"G{row}", 194)
|
|
for row in range(19, 441):
|
|
apply_style(ws, f"N{row}", 196)
|
|
|
|
return ws
|
|
|
|
|
|
def create_clearance_hc_sheet(wb):
|
|
"""Build the 'Clearance_HC' sheet exactly as in the original template."""
|
|
ws = wb.create_sheet('Clearance_HC')
|
|
ws.sheet_view.zoomScale = 55
|
|
|
|
set_column_widths(ws, {
|
|
'A': 40.33203125,
|
|
'B': 29.6640625,
|
|
'C': 22.88671875,
|
|
'D': 22.88671875,
|
|
'E': 55.0,
|
|
'F': 14.33203125,
|
|
'G': 21.88671875,
|
|
'H': 16.33203125,
|
|
'I': 15.33203125,
|
|
'J': 14.88671875,
|
|
'K': 15.88671875,
|
|
'L': 18.44140625,
|
|
'M': 50.5546875,
|
|
'N': 16.109375,
|
|
'O': 10.6640625,
|
|
'P': 23.33203125,
|
|
'Q': 13.6640625,
|
|
'R': 12.109375,
|
|
'S': 15.44140625,
|
|
'T': 10.5546875,
|
|
'U': 12.33203125,
|
|
'V': 8.6640625,
|
|
})
|
|
set_row_heights(ws, {
|
|
11: 15.0,
|
|
12: 15.0,
|
|
13: 15.0,
|
|
14: 14.7,
|
|
15: 15.0,
|
|
16: 15.0,
|
|
17: 15.0,
|
|
})
|
|
|
|
ws.auto_filter.ref = 'B16:T16'
|
|
|
|
for merge_range in [
|
|
'H14:H15',
|
|
'Q14:T14',
|
|
'L14:L15',
|
|
'K14:K15',
|
|
'P14:P15',
|
|
'N14:N15',
|
|
'M14:M15',
|
|
'K13:T13',
|
|
'B2:S2',
|
|
'B12:T12',
|
|
'C14:C15',
|
|
'E14:E15',
|
|
'I14:J14',
|
|
'B13:J13',
|
|
'O14:O15',
|
|
'D14:D15',
|
|
'B14:B15',
|
|
'F14:F15',
|
|
]:
|
|
merge_cells(ws, merge_range)
|
|
|
|
# --- labels / values --------------------------------------------------
|
|
set_cell(ws, 'S1', 'Annexure B', 84)
|
|
set_cell(ws, 'B2', ' Form to be maintained by a unit operating under section 65 of the Customs Act for the receipt, processing and removal of goods', 1)
|
|
set_cell(ws, 'B4', 'Name and address of the Unit:', 85)
|
|
set_cell(ws, 'N4', 'IEC:', 85)
|
|
set_cell(ws, 'N6', 'DATE:', 7)
|
|
set_cell(ws, 'N8', 'Commissionerate:', 85)
|
|
set_cell(ws, 'B10', 'GSTIN:', 84)
|
|
set_cell(ws, 'B12', 'RESULTANT PRODUCTS (CLEARANCE FOR HOME CONSUMPTION)', 119)
|
|
set_cell(ws, 'B13', 'Resultant products cleared for home consumption', 119)
|
|
set_cell(ws, 'K13', 'Warehoused goods contained in so much of the resultant products cleared for home consumption', 119)
|
|
set_cell(ws, 'B14', 'Date and time of removal', 12)
|
|
set_cell(ws, 'C14', 'GST Invoice No', 13)
|
|
set_cell(ws, 'D14', 'GST Invoice date', 13)
|
|
set_cell(ws, 'E14', 'Description of goods', 13)
|
|
set_cell(ws, 'F14', 'Quantity with UQC', 13)
|
|
set_cell(ws, 'H14', 'Value', 13)
|
|
set_cell(ws, 'I14', 'Tax\npaid', 13)
|
|
set_cell(ws, 'K14', 'Bill of Entry No.', 13)
|
|
set_cell(ws, 'L14', 'Bill of Entry date', 13)
|
|
set_cell(ws, 'M14', 'Description of goods', 13)
|
|
set_cell(ws, 'N14', 'Quantity', 13)
|
|
set_cell(ws, 'O14', 'UQC', 13)
|
|
set_cell(ws, 'P14', 'Assessable Value', 13)
|
|
set_cell(ws, 'Q14', 'Duty paid', 13)
|
|
set_cell(ws, 'G15', 'FG Serial No.', 25)
|
|
set_cell(ws, 'I15', 'GST', 92)
|
|
set_cell(ws, 'J15', 'Comp. cess', 92)
|
|
set_cell(ws, 'Q15', 'BCD', 25)
|
|
set_cell(ws, 'R15', 'IGST', 25)
|
|
set_cell(ws, 'S15', 'SWS', 25)
|
|
set_cell(ws, 'T15', 'Comp. cess', 132)
|
|
set_cell(ws, 'B16', 54, 116)
|
|
set_cell(ws, 'C16', 55, 157)
|
|
set_cell(ws, 'E16', 56, 157)
|
|
set_cell(ws, 'F16', 57, 157)
|
|
set_cell(ws, 'G16', '57A', 157)
|
|
set_cell(ws, 'H16', 58, 157)
|
|
set_cell(ws, 'I16', 59, 157)
|
|
set_cell(ws, 'J16', 60, 157)
|
|
set_cell(ws, 'K16', 61, 157)
|
|
set_cell(ws, 'L16', '61A', 157)
|
|
set_cell(ws, 'M16', 62, 156)
|
|
set_cell(ws, 'N16', 63, 157)
|
|
set_cell(ws, 'O16', '63A', 157)
|
|
set_cell(ws, 'P16', 64, 157)
|
|
set_cell(ws, 'Q16', 65, 157)
|
|
set_cell(ws, 'R16', 66, 157)
|
|
set_cell(ws, 'S16', '66A', 157)
|
|
set_cell(ws, 'T16', 67, 158)
|
|
|
|
# --- blank formatted cells (data-entry area) --------------------------
|
|
apply_style(ws, 'B3', 1)
|
|
apply_style(ws, 'C3', 1)
|
|
apply_style(ws, 'D3', 1)
|
|
apply_style(ws, 'E3', 1)
|
|
apply_style(ws, 'F3', 1)
|
|
apply_style(ws, 'G3', 1)
|
|
apply_style(ws, 'H3', 1)
|
|
apply_style(ws, 'I3', 1)
|
|
apply_style(ws, 'J3', 1)
|
|
apply_style(ws, 'K3', 1)
|
|
apply_style(ws, 'L3', 1)
|
|
apply_style(ws, 'N3', 1)
|
|
apply_style(ws, 'O3', 1)
|
|
apply_style(ws, 'P3', 1)
|
|
apply_style(ws, 'Q3', 1)
|
|
apply_style(ws, 'R3', 1)
|
|
apply_style(ws, 'S3', 1)
|
|
apply_style(ws, 'M3', 154)
|
|
apply_style(ws, 'O4', 86)
|
|
apply_style(ws, 'P4', 81)
|
|
for row in range(4, 8):
|
|
for col in ['F', 'G']:
|
|
apply_style(ws, f"{col}{row}", 0)
|
|
for row in range(4, 8):
|
|
apply_style(ws, f"M{row}", 197)
|
|
apply_style(ws, 'B5', 87)
|
|
apply_style(ws, 'N5', 85)
|
|
apply_style(ws, 'O5', 85)
|
|
apply_style(ws, 'O6', 7)
|
|
for row in range(6, 9):
|
|
apply_style(ws, f"B{row}", 88)
|
|
apply_style(ws, 'N7', 85)
|
|
apply_style(ws, 'O7', 85)
|
|
apply_style(ws, 'O8', 85)
|
|
for row in range(8, 11):
|
|
for col in ['F', 'G']:
|
|
apply_style(ws, f"{col}{row}", 4)
|
|
apply_style(ws, 'C10', 81)
|
|
apply_style(ws, 'D10', 81)
|
|
apply_style(ws, 'M10', 197)
|
|
apply_style(ws, 'N10', 198)
|
|
apply_style(ws, 'O11', 199)
|
|
apply_style(ws, 'J12', 10)
|
|
apply_style(ws, 'K12', 10)
|
|
apply_style(ws, 'C12', 10)
|
|
apply_style(ws, 'C13', 10)
|
|
apply_style(ws, 'D12', 10)
|
|
apply_style(ws, 'D13', 10)
|
|
apply_style(ws, 'E12', 10)
|
|
apply_style(ws, 'E13', 10)
|
|
apply_style(ws, 'F12', 10)
|
|
apply_style(ws, 'F13', 10)
|
|
apply_style(ws, 'G12', 10)
|
|
apply_style(ws, 'G13', 10)
|
|
apply_style(ws, 'H12', 10)
|
|
apply_style(ws, 'H13', 10)
|
|
apply_style(ws, 'I12', 10)
|
|
apply_style(ws, 'I13', 10)
|
|
apply_style(ws, 'L12', 10)
|
|
apply_style(ws, 'L13', 10)
|
|
apply_style(ws, 'M12', 10)
|
|
apply_style(ws, 'M13', 10)
|
|
apply_style(ws, 'N12', 10)
|
|
apply_style(ws, 'N13', 10)
|
|
apply_style(ws, 'O12', 10)
|
|
apply_style(ws, 'O13', 10)
|
|
apply_style(ws, 'P12', 10)
|
|
apply_style(ws, 'P13', 10)
|
|
apply_style(ws, 'Q12', 10)
|
|
apply_style(ws, 'Q13', 10)
|
|
apply_style(ws, 'R12', 10)
|
|
apply_style(ws, 'R13', 10)
|
|
apply_style(ws, 'S12', 10)
|
|
apply_style(ws, 'S13', 10)
|
|
apply_style(ws, 'T12', 11)
|
|
apply_style(ws, 'T13', 11)
|
|
apply_style(ws, 'J13', 11)
|
|
apply_style(ws, 'G14', 13)
|
|
apply_style(ws, 'J14', 18)
|
|
apply_style(ws, 'T14', 18)
|
|
apply_style(ws, 'R14', 17)
|
|
apply_style(ws, 'S14', 17)
|
|
apply_style(ws, 'B15', 20)
|
|
apply_style(ws, 'C15', 21)
|
|
apply_style(ws, 'D15', 21)
|
|
apply_style(ws, 'E15', 21)
|
|
apply_style(ws, 'F15', 21)
|
|
apply_style(ws, 'H15', 21)
|
|
apply_style(ws, 'K15', 21)
|
|
apply_style(ws, 'L15', 21)
|
|
apply_style(ws, 'M15', 21)
|
|
apply_style(ws, 'N15', 21)
|
|
apply_style(ws, 'O15', 21)
|
|
apply_style(ws, 'P15', 21)
|
|
apply_style(ws, 'D16', 157)
|
|
apply_style(ws, 'B17', 201)
|
|
apply_style(ws, 'C17', 201)
|
|
apply_style(ws, 'D17', 201)
|
|
apply_style(ws, 'E17', 201)
|
|
apply_style(ws, 'F17', 201)
|
|
apply_style(ws, 'G17', 201)
|
|
apply_style(ws, 'H17', 201)
|
|
apply_style(ws, 'I17', 201)
|
|
apply_style(ws, 'J17', 201)
|
|
apply_style(ws, 'K17', 201)
|
|
apply_style(ws, 'L17', 201)
|
|
apply_style(ws, 'M17', 201)
|
|
apply_style(ws, 'N17', 201)
|
|
apply_style(ws, 'O17', 201)
|
|
apply_style(ws, 'P17', 201)
|
|
apply_style(ws, 'Q17', 201)
|
|
apply_style(ws, 'R17', 201)
|
|
apply_style(ws, 'S17', 201)
|
|
apply_style(ws, 'T17', 201)
|
|
apply_style(ws, 'A17', 200)
|
|
|
|
return ws
|
|
|
|
|
|
def create_as_such_sheet(wb):
|
|
"""Build the 'As such' sheet exactly as in the original template."""
|
|
ws = wb.create_sheet('As such')
|
|
ws.sheet_view.zoomScale = 55
|
|
|
|
set_column_widths(ws, {
|
|
'A': 2.33203125,
|
|
'B': 32.33203125,
|
|
'C': 36.6640625,
|
|
'D': 35.6640625,
|
|
'E': 13.44140625,
|
|
'F': 10.44140625,
|
|
'G': 19.88671875,
|
|
'H': 16.6640625,
|
|
'I': 11.0,
|
|
'J': 32.44140625,
|
|
'K': 19.6640625,
|
|
'L': 14.109375,
|
|
'M': 14.0,
|
|
'N': 11.33203125,
|
|
'O': 10.109375,
|
|
'P': 13.0,
|
|
'Q': 12.6640625,
|
|
'R': 12.33203125,
|
|
})
|
|
set_row_heights(ws, {
|
|
1: 14.7,
|
|
2: 14.7,
|
|
3: 14.7,
|
|
4: 14.7,
|
|
5: 14.7,
|
|
6: 14.7,
|
|
7: 14.7,
|
|
8: 14.7,
|
|
10: 14.7,
|
|
11: 14.7,
|
|
12: 14.7,
|
|
13: 14.7,
|
|
14: 14.7,
|
|
15: 14.7,
|
|
16: 14.7,
|
|
17: 15.0,
|
|
18: 14.4,
|
|
19: 14.4,
|
|
20: 14.4,
|
|
23: 14.7,
|
|
})
|
|
|
|
for merge_range in [
|
|
'L14:L15',
|
|
'C13:I13',
|
|
'K14:K15',
|
|
'M14:M15',
|
|
'G14:I14',
|
|
'J13:P13',
|
|
'J14:J15',
|
|
'C12:P12',
|
|
'N14:P14',
|
|
'C2:P2',
|
|
'C14:C15',
|
|
'E14:E15',
|
|
'D14:D15',
|
|
'F14:F15',
|
|
]:
|
|
merge_cells(ws, merge_range)
|
|
|
|
# --- labels / values --------------------------------------------------
|
|
set_cell(ws, 'P1', 'Annexure B', 202)
|
|
set_cell(ws, 'C2', ' Form to be maintained by a unit operating under section 65 of the Customs Act for the receipt, processing and removal of goods', 1)
|
|
set_cell(ws, 'C4', 'Name and address of the Unit:', 202)
|
|
set_cell(ws, 'L4', 'IEC:', 85)
|
|
set_cell(ws, 'L6', 'DATE:', 7)
|
|
set_cell(ws, 'L8', 'Commissionerate:', 85)
|
|
set_cell(ws, 'C10', 'GSTIN:', 202)
|
|
set_cell(ws, 'C12', 'IMPORTED GOODS CLEARED AS SUCH', 204)
|
|
set_cell(ws, 'C13', 'Imported goods cleared as such for home consumption', 204)
|
|
set_cell(ws, 'J13', 'Imported goods exported as such', 204)
|
|
set_cell(ws, 'C14', 'Bill of entry No. and date', 12)
|
|
set_cell(ws, 'D14', 'Description of goods', 13)
|
|
set_cell(ws, 'E14', 'Quantity with UQC', 13)
|
|
set_cell(ws, 'F14', 'Assessable value', 13)
|
|
set_cell(ws, 'G14', 'Duty paid', 13)
|
|
set_cell(ws, 'J14', 'Shipping Bill No. and date', 15)
|
|
set_cell(ws, 'K14', 'Description of goods', 13)
|
|
set_cell(ws, 'L14', 'Quantity with UQC', 13)
|
|
set_cell(ws, 'M14', 'Assessable Value', 16)
|
|
set_cell(ws, 'N14', 'Duty Involved', 13)
|
|
set_cell(ws, 'G15', 'BCD', 25)
|
|
set_cell(ws, 'H15', 'IGST', 25)
|
|
set_cell(ws, 'I15', 'Comp. cess', 132)
|
|
set_cell(ws, 'N15', 'BCD', 25)
|
|
set_cell(ws, 'O15', 'IGST', 25)
|
|
set_cell(ws, 'P15', 'Comp. cess', 132)
|
|
set_cell(ws, 'C16', 68, 205)
|
|
set_cell(ws, 'D16', 69, 206)
|
|
set_cell(ws, 'E16', 70, 206)
|
|
set_cell(ws, 'F16', 71, 206)
|
|
set_cell(ws, 'G16', 72, 206)
|
|
set_cell(ws, 'H16', 73, 206)
|
|
set_cell(ws, 'I16', 74, 207)
|
|
set_cell(ws, 'J16', 75, 208)
|
|
set_cell(ws, 'K16', 76, 206)
|
|
set_cell(ws, 'L16', 77, 206)
|
|
set_cell(ws, 'M16', 78, 206)
|
|
set_cell(ws, 'N16', 79, 206)
|
|
set_cell(ws, 'O16', 80, 206)
|
|
set_cell(ws, 'P16', 81, 207)
|
|
|
|
# --- blank formatted cells (data-entry area) --------------------------
|
|
apply_style(ws, 'C3', 1)
|
|
apply_style(ws, 'D3', 1)
|
|
apply_style(ws, 'E3', 1)
|
|
apply_style(ws, 'F3', 1)
|
|
apply_style(ws, 'G3', 1)
|
|
apply_style(ws, 'H3', 1)
|
|
apply_style(ws, 'I3', 1)
|
|
apply_style(ws, 'J3', 1)
|
|
apply_style(ws, 'K3', 1)
|
|
apply_style(ws, 'L3', 1)
|
|
apply_style(ws, 'M3', 1)
|
|
apply_style(ws, 'N3', 1)
|
|
apply_style(ws, 'O3', 1)
|
|
apply_style(ws, 'P3', 1)
|
|
apply_style(ws, 'M4', 86)
|
|
apply_style(ws, 'C5', 5)
|
|
apply_style(ws, 'L5', 85)
|
|
for row in range(5, 9):
|
|
apply_style(ws, f"M{row}", 85)
|
|
apply_style(ws, 'H6', 203)
|
|
for row in range(6, 9):
|
|
apply_style(ws, f"C{row}", 8)
|
|
apply_style(ws, 'L7', 85)
|
|
apply_style(ws, 'I12', 10)
|
|
apply_style(ws, 'J12', 10)
|
|
apply_style(ws, 'D12', 10)
|
|
apply_style(ws, 'D13', 10)
|
|
apply_style(ws, 'E12', 10)
|
|
apply_style(ws, 'E13', 10)
|
|
apply_style(ws, 'F12', 10)
|
|
apply_style(ws, 'F13', 10)
|
|
apply_style(ws, 'G12', 10)
|
|
apply_style(ws, 'G13', 10)
|
|
apply_style(ws, 'H12', 10)
|
|
apply_style(ws, 'H13', 10)
|
|
apply_style(ws, 'K12', 10)
|
|
apply_style(ws, 'K13', 10)
|
|
apply_style(ws, 'L12', 10)
|
|
apply_style(ws, 'L13', 10)
|
|
apply_style(ws, 'M12', 10)
|
|
apply_style(ws, 'M13', 10)
|
|
apply_style(ws, 'N12', 10)
|
|
apply_style(ws, 'N13', 10)
|
|
apply_style(ws, 'O12', 10)
|
|
apply_style(ws, 'O13', 10)
|
|
apply_style(ws, 'P12', 11)
|
|
apply_style(ws, 'P13', 11)
|
|
apply_style(ws, 'I13', 11)
|
|
apply_style(ws, 'H14', 17)
|
|
apply_style(ws, 'O14', 17)
|
|
apply_style(ws, 'I14', 18)
|
|
apply_style(ws, 'P14', 18)
|
|
apply_style(ws, 'C15', 20)
|
|
apply_style(ws, 'D15', 21)
|
|
apply_style(ws, 'E15', 21)
|
|
apply_style(ws, 'F15', 21)
|
|
apply_style(ws, 'K15', 21)
|
|
apply_style(ws, 'L15', 21)
|
|
apply_style(ws, 'M15', 21)
|
|
apply_style(ws, 'J15', 23)
|
|
apply_style(ws, 'C17', 209)
|
|
apply_style(ws, 'D17', 209)
|
|
apply_style(ws, 'E17', 209)
|
|
apply_style(ws, 'F17', 209)
|
|
apply_style(ws, 'G17', 209)
|
|
apply_style(ws, 'H17', 209)
|
|
apply_style(ws, 'K17', 209)
|
|
apply_style(ws, 'L17', 209)
|
|
apply_style(ws, 'M17', 209)
|
|
apply_style(ws, 'N17', 209)
|
|
apply_style(ws, 'O17', 209)
|
|
apply_style(ws, 'P17', 209)
|
|
apply_style(ws, 'I17', 210)
|
|
apply_style(ws, 'J17', 211)
|
|
apply_style(ws, 'B17', 200)
|
|
apply_style(ws, 'J18', 212)
|
|
apply_style(ws, 'J19', 212)
|
|
apply_style(ws, 'K18', 212)
|
|
apply_style(ws, 'K19', 212)
|
|
apply_style(ws, 'L18', 174)
|
|
apply_style(ws, 'L19', 174)
|
|
apply_style(ws, 'M18', 213)
|
|
apply_style(ws, 'M19', 213)
|
|
apply_style(ws, 'N18', 213)
|
|
apply_style(ws, 'N19', 213)
|
|
apply_style(ws, 'O18', 213)
|
|
apply_style(ws, 'O19', 213)
|
|
apply_style(ws, 'P18', 213)
|
|
apply_style(ws, 'P19', 213)
|
|
apply_style(ws, 'D23', 214)
|
|
apply_style(ws, 'G23', 81)
|
|
apply_style(ws, 'H23', 215)
|
|
|
|
return ws
|
|
|
|
|
|
def create_waste_e_sheet(wb):
|
|
"""Build the 'Waste_E' sheet exactly as in the original template."""
|
|
ws = wb.create_sheet('Waste_E')
|
|
ws.sheet_view.zoomScale = 70
|
|
|
|
set_column_widths(ws, {
|
|
'A': 6.6640625,
|
|
'B': 48.5546875,
|
|
'C': 9.6640625,
|
|
'D': 11.33203125,
|
|
'E': 6.6640625,
|
|
'H': 18.88671875,
|
|
'I': 10.33203125,
|
|
'J': 6.0,
|
|
'K': 8.6640625,
|
|
'L': 6.6640625,
|
|
'O': 18.88671875,
|
|
'P': 10.33203125,
|
|
'Q': 10.6640625,
|
|
'R': 6.6640625,
|
|
})
|
|
set_row_heights(ws, {
|
|
11: 15.0,
|
|
12: 15.0,
|
|
13: 26.7,
|
|
15: 29.4,
|
|
16: 15.0,
|
|
17: 15.0,
|
|
})
|
|
|
|
for merge_range in [
|
|
'H14:H15',
|
|
'I14:I15',
|
|
'J14:J15',
|
|
'K14:N14',
|
|
'P14:P15',
|
|
'E14:G14',
|
|
'Q14:Q15',
|
|
'H13:N13',
|
|
'B2:O2',
|
|
'D14:D15',
|
|
'R14:T14',
|
|
'O13:T13',
|
|
'B13:G13',
|
|
'B12:T12',
|
|
'O14:O15',
|
|
'C14:C15',
|
|
'B14:B15',
|
|
]:
|
|
merge_cells(ws, merge_range)
|
|
|
|
# --- labels / values --------------------------------------------------
|
|
set_cell(ws, 'T1', 'Annexure B', 178)
|
|
set_cell(ws, 'B2', ' Form to be maintained by a unit operating under section 65 of the Customs Act for the receipt, processing and removal of goods', 1)
|
|
set_cell(ws, 'B4', 'Name and address of the Unit:', 0)
|
|
set_cell(ws, 'O4', 'IEC:', 85)
|
|
set_cell(ws, 'O6', 'DATE:', 7)
|
|
set_cell(ws, 'O8', 'Commissionerate:', 85)
|
|
set_cell(ws, 'B10', 'GSTIN:', 0)
|
|
set_cell(ws, 'B12', 'TREATMENT OF WASTE OR REFUSE ARISING OUT OF MANUFACTURE OR OTHER OPERATIONS WHERE THE RESULTANT PRODUCT IS EXPORTED', 119)
|
|
set_cell(ws, 'B13', 'Quantity of waste or refuse destroyed', 119)
|
|
set_cell(ws, 'H13', 'Duty paid on waste or refuse', 119)
|
|
set_cell(ws, 'O13', 'Duty to be remitted on the quantity of warehoused goods contained\nin so much of the waste or refuse (destroyed or cleared as such)', 9)
|
|
set_cell(ws, 'B14', 'Description of goods', 12)
|
|
set_cell(ws, 'C14', 'Quantity with UQC', 13)
|
|
set_cell(ws, 'D14', 'Assessable value', 13)
|
|
set_cell(ws, 'E14', 'Duty Involved', 13)
|
|
set_cell(ws, 'H14', 'Description of goods', 13)
|
|
set_cell(ws, 'I14', 'Quantity with UQC', 13)
|
|
set_cell(ws, 'J14', 'Value', 13)
|
|
set_cell(ws, 'K14', 'Details of Duty paid', 216)
|
|
set_cell(ws, 'O14', 'Description of goods', 13)
|
|
set_cell(ws, 'P14', 'Quantity with UQC', 13)
|
|
set_cell(ws, 'Q14', 'Assessable value', 13)
|
|
set_cell(ws, 'R14', 'Duty Involved', 13)
|
|
set_cell(ws, 'E15', 'BCD', 25)
|
|
set_cell(ws, 'F15', 'IGST', 25)
|
|
set_cell(ws, 'G15', 'Comp. cess', 25)
|
|
set_cell(ws, 'K15', 'Challan No.', 25)
|
|
set_cell(ws, 'L15', 'BCD', 25)
|
|
set_cell(ws, 'M15', 'IGST', 25)
|
|
set_cell(ws, 'N15', 'Comp. cess', 25)
|
|
set_cell(ws, 'R15', 'BCD', 25)
|
|
set_cell(ws, 'S15', 'IGST', 25)
|
|
set_cell(ws, 'T15', 'Comp. cess', 132)
|
|
set_cell(ws, 'B16', 82, 217)
|
|
set_cell(ws, 'C16', 83, 218)
|
|
set_cell(ws, 'D16', 84, 218)
|
|
set_cell(ws, 'E16', 85, 218)
|
|
set_cell(ws, 'F16', 86, 218)
|
|
set_cell(ws, 'G16', 87, 218)
|
|
set_cell(ws, 'H16', 88, 218)
|
|
set_cell(ws, 'I16', 89, 218)
|
|
set_cell(ws, 'J16', 90, 218)
|
|
set_cell(ws, 'K16', 91, 218)
|
|
set_cell(ws, 'L16', 92, 218)
|
|
set_cell(ws, 'M16', 93, 218)
|
|
set_cell(ws, 'N16', 94, 218)
|
|
set_cell(ws, 'O16', 95, 218)
|
|
set_cell(ws, 'P16', 96, 218)
|
|
set_cell(ws, 'Q16', 97, 218)
|
|
set_cell(ws, 'R16', 98, 218)
|
|
set_cell(ws, 'S16', 99, 218)
|
|
set_cell(ws, 'T16', 100, 219)
|
|
|
|
# --- blank formatted cells (data-entry area) --------------------------
|
|
apply_style(ws, 'B3', 1)
|
|
apply_style(ws, 'C3', 1)
|
|
apply_style(ws, 'D3', 1)
|
|
apply_style(ws, 'E3', 1)
|
|
apply_style(ws, 'F3', 1)
|
|
apply_style(ws, 'G3', 1)
|
|
apply_style(ws, 'H3', 1)
|
|
apply_style(ws, 'I3', 1)
|
|
apply_style(ws, 'J3', 1)
|
|
apply_style(ws, 'K3', 1)
|
|
apply_style(ws, 'L3', 1)
|
|
apply_style(ws, 'M3', 1)
|
|
apply_style(ws, 'N3', 1)
|
|
apply_style(ws, 'O3', 1)
|
|
apply_style(ws, 'L4', 4)
|
|
apply_style(ws, 'P4', 86)
|
|
apply_style(ws, 'B5', 5)
|
|
apply_style(ws, 'O5', 85)
|
|
for row in range(5, 9):
|
|
apply_style(ws, f"P{row}", 85)
|
|
apply_style(ws, 'G6', 180)
|
|
for row in range(6, 9):
|
|
apply_style(ws, f"B{row}", 8)
|
|
apply_style(ws, 'K7', 3)
|
|
apply_style(ws, 'O7', 7)
|
|
apply_style(ws, 'C10', 4)
|
|
apply_style(ws, 'G12', 10)
|
|
apply_style(ws, 'H12', 10)
|
|
apply_style(ws, 'N12', 10)
|
|
apply_style(ws, 'O12', 10)
|
|
apply_style(ws, 'C12', 10)
|
|
apply_style(ws, 'C13', 10)
|
|
apply_style(ws, 'D12', 10)
|
|
apply_style(ws, 'D13', 10)
|
|
apply_style(ws, 'E12', 10)
|
|
apply_style(ws, 'E13', 10)
|
|
apply_style(ws, 'F12', 10)
|
|
apply_style(ws, 'F13', 10)
|
|
apply_style(ws, 'I12', 10)
|
|
apply_style(ws, 'I13', 10)
|
|
apply_style(ws, 'J12', 10)
|
|
apply_style(ws, 'J13', 10)
|
|
apply_style(ws, 'K12', 10)
|
|
apply_style(ws, 'K13', 10)
|
|
apply_style(ws, 'L12', 10)
|
|
apply_style(ws, 'L13', 10)
|
|
apply_style(ws, 'M12', 10)
|
|
apply_style(ws, 'M13', 10)
|
|
apply_style(ws, 'P12', 10)
|
|
apply_style(ws, 'P13', 10)
|
|
apply_style(ws, 'Q12', 10)
|
|
apply_style(ws, 'Q13', 10)
|
|
apply_style(ws, 'R12', 10)
|
|
apply_style(ws, 'R13', 10)
|
|
apply_style(ws, 'S12', 10)
|
|
apply_style(ws, 'S13', 10)
|
|
apply_style(ws, 'T12', 11)
|
|
apply_style(ws, 'T13', 11)
|
|
apply_style(ws, 'G13', 11)
|
|
apply_style(ws, 'N13', 11)
|
|
apply_style(ws, 'F14', 17)
|
|
apply_style(ws, 'L14', 17)
|
|
apply_style(ws, 'M14', 17)
|
|
apply_style(ws, 'S14', 17)
|
|
apply_style(ws, 'G14', 18)
|
|
apply_style(ws, 'N14', 18)
|
|
apply_style(ws, 'T14', 18)
|
|
apply_style(ws, 'B15', 20)
|
|
apply_style(ws, 'C15', 21)
|
|
apply_style(ws, 'D15', 21)
|
|
apply_style(ws, 'H15', 21)
|
|
apply_style(ws, 'I15', 21)
|
|
apply_style(ws, 'J15', 21)
|
|
apply_style(ws, 'O15', 21)
|
|
apply_style(ws, 'P15', 21)
|
|
apply_style(ws, 'Q15', 21)
|
|
apply_style(ws, 'B17', 220)
|
|
apply_style(ws, 'C17', 221)
|
|
apply_style(ws, 'D17', 221)
|
|
apply_style(ws, 'E17', 221)
|
|
apply_style(ws, 'F17', 221)
|
|
apply_style(ws, 'G17', 221)
|
|
apply_style(ws, 'H17', 221)
|
|
apply_style(ws, 'I17', 221)
|
|
apply_style(ws, 'J17', 221)
|
|
apply_style(ws, 'K17', 221)
|
|
apply_style(ws, 'L17', 221)
|
|
apply_style(ws, 'M17', 221)
|
|
apply_style(ws, 'N17', 221)
|
|
apply_style(ws, 'O17', 221)
|
|
apply_style(ws, 'P17', 221)
|
|
apply_style(ws, 'Q17', 221)
|
|
apply_style(ws, 'R17', 221)
|
|
apply_style(ws, 'S17', 221)
|
|
apply_style(ws, 'T17', 222)
|
|
|
|
return ws
|
|
|
|
|
|
def create_waste_hc_sheet(wb):
|
|
"""Build the 'Waste_HC' sheet exactly as in the original template."""
|
|
ws = wb.create_sheet('Waste_HC')
|
|
ws.sheet_view.zoomScale = 94
|
|
|
|
set_column_widths(ws, {
|
|
'A': 39.109375,
|
|
'B': 39.77734375,
|
|
'C': 17.44140625,
|
|
'D': 13.44140625,
|
|
'E': 10.44140625,
|
|
'F': 33.6640625,
|
|
'G': 16.109375,
|
|
'I': 11.33203125,
|
|
'J': 10.6640625,
|
|
'K': 12.44140625,
|
|
'L': 5.88671875,
|
|
'M': 11.33203125,
|
|
'N': 13.6640625,
|
|
'O': 12.6640625,
|
|
'P': 12.33203125,
|
|
'Q': 8.6640625,
|
|
})
|
|
set_row_heights(ws, {
|
|
13: 15.0,
|
|
14: 33.6,
|
|
15: 15.0,
|
|
16: 15.0,
|
|
17: 15.0,
|
|
18: 15.0,
|
|
19: 15.0,
|
|
})
|
|
|
|
for merge_range in [
|
|
'B14:H14',
|
|
'F16:H16',
|
|
'I14:I17',
|
|
'D16:D17',
|
|
'B16:B17',
|
|
'B15:H15',
|
|
'E16:E17',
|
|
'C16:C17',
|
|
'B3:N3',
|
|
]:
|
|
merge_cells(ws, merge_range)
|
|
|
|
# --- labels / values --------------------------------------------------
|
|
set_cell(ws, 'M1', 'Annexure B', 0)
|
|
set_cell(ws, 'B3', ' Form to be maintained by a unit operating under section 65 of the Customs Act for the receipt, processing and removal of goods', 1)
|
|
set_cell(ws, 'B5', 'Name and address of the Unit:', 0)
|
|
set_cell(ws, 'H5', 'IEC:', 85)
|
|
set_cell(ws, 'H7', 'DATE:', 7)
|
|
set_cell(ws, 'H9', 'Commissionerate:', 85)
|
|
set_cell(ws, 'B11', 'GSTIN:', 0)
|
|
set_cell(ws, 'B14', 'TREATMENT OF WASTE OR REFUSE ARISING OUT OF MANUFACTURE OR OTHER OPERATIONS WHEN THE RESULTANT PRODUCT IS CLEARED FOR HOME CONSUMPTION', 9)
|
|
set_cell(ws, 'I14', 'REMARKS\n(if any)', 223)
|
|
set_cell(ws, 'B15', 'Duty paid on warehoused goods contained in so much of the waste or refuse', 9)
|
|
set_cell(ws, 'B16', 'Bill of Entry No. and date', 225)
|
|
set_cell(ws, 'C16', 'Description of goods', 226)
|
|
set_cell(ws, 'D16', 'Quantity with UQC', 226)
|
|
set_cell(ws, 'E16', 'Assessable Value', 226)
|
|
set_cell(ws, 'F16', 'Duty paid', 226)
|
|
set_cell(ws, 'F17', 'BCD', 25)
|
|
set_cell(ws, 'G17', 'IGST', 25)
|
|
set_cell(ws, 'H17', 'Comp. cess', 132)
|
|
set_cell(ws, 'B18', 101, 229)
|
|
set_cell(ws, 'C18', 102, 230)
|
|
set_cell(ws, 'D18', 103, 230)
|
|
set_cell(ws, 'E18', 104, 230)
|
|
set_cell(ws, 'F18', 105, 230)
|
|
set_cell(ws, 'G18', 106, 230)
|
|
set_cell(ws, 'H18', 107, 230)
|
|
set_cell(ws, 'I18', 108, 231)
|
|
|
|
# --- blank formatted cells (data-entry area) --------------------------
|
|
apply_style(ws, 'M2', 0)
|
|
apply_style(ws, 'B4', 1)
|
|
apply_style(ws, 'C4', 1)
|
|
apply_style(ws, 'D4', 1)
|
|
apply_style(ws, 'E4', 1)
|
|
apply_style(ws, 'F4', 1)
|
|
apply_style(ws, 'G4', 1)
|
|
apply_style(ws, 'H4', 1)
|
|
apply_style(ws, 'I4', 1)
|
|
apply_style(ws, 'J4', 1)
|
|
apply_style(ws, 'K4', 1)
|
|
apply_style(ws, 'L4', 1)
|
|
apply_style(ws, 'M4', 1)
|
|
apply_style(ws, 'N4', 1)
|
|
apply_style(ws, 'I5', 86)
|
|
apply_style(ws, 'K5', 4)
|
|
apply_style(ws, 'G5', 85)
|
|
apply_style(ws, 'G6', 85)
|
|
apply_style(ws, 'B6', 5)
|
|
apply_style(ws, 'H6', 85)
|
|
for row in range(6, 10):
|
|
apply_style(ws, f"I{row}", 85)
|
|
apply_style(ws, 'F7', 180)
|
|
apply_style(ws, 'G7', 7)
|
|
apply_style(ws, 'J7', 3)
|
|
for row in range(7, 10):
|
|
apply_style(ws, f"B{row}", 8)
|
|
apply_style(ws, 'H8', 85)
|
|
apply_style(ws, 'G8', 85)
|
|
apply_style(ws, 'G9', 85)
|
|
apply_style(ws, 'C11', 4)
|
|
apply_style(ws, 'C14', 10)
|
|
apply_style(ws, 'C15', 10)
|
|
apply_style(ws, 'D14', 10)
|
|
apply_style(ws, 'D15', 10)
|
|
apply_style(ws, 'E14', 10)
|
|
apply_style(ws, 'E15', 10)
|
|
apply_style(ws, 'F14', 10)
|
|
apply_style(ws, 'F15', 10)
|
|
apply_style(ws, 'G14', 10)
|
|
apply_style(ws, 'G15', 10)
|
|
apply_style(ws, 'H14', 11)
|
|
apply_style(ws, 'H15', 11)
|
|
apply_style(ws, 'I15', 224)
|
|
apply_style(ws, 'I16', 224)
|
|
apply_style(ws, 'G16', 227)
|
|
apply_style(ws, 'H16', 23)
|
|
apply_style(ws, 'B17', 20)
|
|
apply_style(ws, 'C17', 21)
|
|
apply_style(ws, 'D17', 21)
|
|
apply_style(ws, 'E17', 21)
|
|
apply_style(ws, 'I17', 228)
|
|
apply_style(ws, 'B19', 232)
|
|
apply_style(ws, 'C19', 233)
|
|
apply_style(ws, 'D19', 233)
|
|
apply_style(ws, 'E19', 233)
|
|
apply_style(ws, 'F19', 233)
|
|
apply_style(ws, 'G19', 233)
|
|
apply_style(ws, 'H19', 233)
|
|
apply_style(ws, 'I19', 234)
|
|
|
|
return ws
|
|
|
|
|
|
|
|
# =============================================================================
|
|
# COMMON SECTION 65 HEADING
|
|
# =============================================================================
|
|
|
|
SECTION_65_TEXT = (
|
|
" Form to be maintained by a unit operating under section 65 of the Customs Act "
|
|
"for the receipt, processing and removal of goods"
|
|
)
|
|
|
|
|
|
def make_section_65_heading_bold(wb):
|
|
"""Make the standard Section 65 sentence bold on every worksheet.
|
|
|
|
Existing font properties are preserved; only bold is changed.
|
|
"""
|
|
target = SECTION_65_TEXT.strip()
|
|
|
|
for ws in wb.worksheets:
|
|
for row in ws.iter_rows():
|
|
for cell in row:
|
|
if isinstance(cell.value, str) and cell.value.strip() == target:
|
|
font = copy(cell.font)
|
|
font.bold = True
|
|
cell.font = font
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
# WORKBOOK ASSEMBLY
|
|
# =============================================================================
|
|
|
|
def create_moowr_annexure_b(output_path=None):
|
|
"""Build the full MOOWR Annexure B workbook and save it to output_path.
|
|
|
|
If output_path is None, saves to your Downloads folder (see
|
|
_default_output_path above).
|
|
"""
|
|
if output_path is None:
|
|
output_path = _default_output_path()
|
|
wb = Workbook()
|
|
# remove the default blank sheet openpyxl creates
|
|
wb.remove(wb.active)
|
|
|
|
create_imports_sheet(wb)
|
|
create_dta_sheet(wb)
|
|
create_issued_for_mfr_sheet(wb)
|
|
create_rmv_for_job_work_sheet(wb)
|
|
create_receive_from_job_work_sheet(wb)
|
|
create_clearance_e_sheet(wb)
|
|
create_clearance_hc_sheet(wb)
|
|
create_as_such_sheet(wb)
|
|
create_waste_e_sheet(wb)
|
|
create_waste_hc_sheet(wb)
|
|
|
|
# The Section 65 description must be bold on every sheet.
|
|
make_section_65_heading_bold(wb)
|
|
|
|
output_path = Path(output_path)
|
|
|
|
# If no explicit path was supplied, _default_output_path() already
|
|
# selected a new unused filename in Downloads.
|
|
#
|
|
# For an explicit path, also avoid overwriting an existing workbook.
|
|
if output_path.exists():
|
|
stem = output_path.stem
|
|
suffix = output_path.suffix or ".xlsx"
|
|
parent = output_path.parent
|
|
counter = 1
|
|
|
|
while output_path.exists():
|
|
output_path = parent / f"{stem} ({counter}){suffix}"
|
|
counter += 1
|
|
|
|
# Save to a temporary .xlsx file first. This prevents a partially written
|
|
# workbook from being left behind if the save operation is interrupted.
|
|
output_path.parent.mkdir(parents=True, exist_ok=True)
|
|
|
|
temp_fd, temp_name = tempfile.mkstemp(
|
|
prefix="MOOWR_Annexure_B_",
|
|
suffix=".xlsx",
|
|
dir=str(output_path.parent),
|
|
)
|
|
os.close(temp_fd)
|
|
|
|
try:
|
|
wb.save(temp_name)
|
|
|
|
# The destination is guaranteed to be unused, so an already-open
|
|
# previous workbook cannot block creation of this new workbook.
|
|
try:
|
|
os.replace(temp_name, output_path)
|
|
except PermissionError:
|
|
# Extremely defensive fallback for environments with unusual
|
|
# folder/file locking behavior.
|
|
fallback = _next_available_output_path()
|
|
os.replace(temp_name, fallback)
|
|
output_path = fallback
|
|
|
|
finally:
|
|
if os.path.exists(temp_name):
|
|
try:
|
|
os.remove(temp_name)
|
|
except OSError:
|
|
pass
|
|
|
|
return output_path
|
|
|
|
|
|
if __name__ == "__main__":
|
|
target = sys.argv[1] if len(sys.argv) > 1 else None
|
|
saved_to = create_moowr_annexure_b(target)
|
|
|
|
print()
|
|
print("Excel workbook is generated successfully.")
|
|
print("Please check your Downloads folder.")
|
|
print(f"File: {saved_to.resolve()}")
|
|
print()
|