getCellStyle static method
Implementation
static String getCellStyle(MsSsCell cell, List<SSStyle> spreadSheetStyles, List<SSColorSchemes> colorSchemes, List<MsSsCol> colDetails) {
String styles = "";
String stylesInner = "";
if (cell.style != null) {
var cellStyle = spreadSheetStyles.firstWhereOrNull((style) {
return style.id == cell.style;
});
if (cellStyle != null) {
if (cellStyle.alignmentHorizontal.isNotEmpty) {
styles = "$styles align:'${cellStyle.alignmentHorizontal}';";
}
if (cellStyle.alignmentVer.isNotEmpty) {
styles = "$styles vertical-align:'${cellStyle.alignmentVer}';";
}
if (cellStyle.alignmentWrapText.isNotEmpty && cellStyle.alignmentWrapText == "1") {
styles = "$styles word-wrap: break-word;";
}
if (cellStyle.ssFont.id.isNotEmpty) {
if (cellStyle.ssFont.size != 0) {
stylesInner = "$stylesInner font-size: ${cellStyle.ssFont.size}px;";
}
if (cellStyle.ssFont.name.isNotEmpty) {
stylesInner = "$stylesInner font-family: '${cellStyle.ssFont.name}';";
}
}
if (cellStyle.ssFill.id.isNotEmpty) {
if (cellStyle.ssFill.bgClrIndex.isNotEmpty) {
String bgColor = "#a5c6fa";
if (int.parse(cellStyle.ssFill.bgClrIndex) < 64) {
bgColor = IndexedColor().colors[int.parse(cellStyle.ssFill.bgClrIndex)];
} else if (cellStyle.ssFill.bgClrIndex == "64") {
var clrScheme = colorSchemes.firstWhereOrNull((clrSch) {
return clrSch.id == cellStyle.ssFill.fgClrTheme;
});
if (clrScheme != null) {
if (clrScheme.sysClrLast.isNotEmpty) {
bgColor = "#${clrScheme.sysClrLast}";
} else if (clrScheme.srgbClr.isNotEmpty) {
bgColor = "#${clrScheme.srgbClr}";
}
}
}
stylesInner = "$stylesInner background-color: $bgColor;";
}
}
if (cellStyle.border.id.isNotEmpty) {
if (cellStyle.border.bottomStyle.isNotEmpty) {
stylesInner = "$stylesInner border-bottom: 1px solid black;";
}
if (cellStyle.border.topStyle.isNotEmpty) {
stylesInner = "$stylesInner border-top: 1px solid black;";
}
if (cellStyle.border.leftStyle.isNotEmpty) {
stylesInner = "$stylesInner border-left: 1px solid black;";
}
if (cellStyle.border.rightStyle.isNotEmpty) {
stylesInner = "$stylesInner border-right: 1px solid black;";
}
}
}
}
if (colDetails.isNotEmpty) {
var colDet = colDetails.firstWhereOrNull((col) {
return col.min <= cell.colNo && col.max >= cell.colNo;
});
if (colDet != null) {
stylesInner = "$stylesInner width:${colDet.width.toInt() * 16}px;";
}
}
if (stylesInner.isNotEmpty) {
stylesInner = "$stylesInner border-collapse: collapse;";
styles = "$styles style=\"$stylesInner\"";
}
return styles;
}