getAllMergedCells method
Implementation
List<String> getAllMergedCells(String fromCol, String toCol) {
List<String> mergedCells = [];
String from = fromCol.replaceAll(RegExp(r"\d"), "");
String to = toCol.replaceAll(RegExp(r"\d"), "");
String latestCol = "";
String rowNum = fromCol.replaceAll(from, "");
int cycleCount = 0;
String fromLastChar = from.substring(from.length - 1);
String fromPrevChar = "";
if (from.length > 1) {
fromPrevChar = from.substring(0, from.length - 1);
}
int indexOfLastChar = Alphabet.alphabets.indexOf(fromLastChar);
while (latestCol != to) {
for (int i = indexOfLastChar + 1; i < Alphabet.alphabets.length; i++) {
latestCol = fromPrevChar + Alphabet.alphabets[i];
mergedCells.add(latestCol + rowNum);
if (latestCol == to) {
break;
}
}
if (latestCol != to) {
if (fromPrevChar.isNotEmpty) {
if (fromPrevChar.substring(fromPrevChar.length - 1) != Alphabet.alphabets.last) {
fromPrevChar = fromPrevChar.substring(0, fromPrevChar.length - 1) +
Alphabet.alphabets.elementAt(Alphabet.alphabets.indexOf(fromPrevChar.substring(fromPrevChar.length - 1)) + 1);
}
} else {
fromPrevChar = Alphabet.alphabets.first;
indexOfLastChar = -1;
}
}
cycleCount++;
if (cycleCount == 10) {
break;
}
}
return mergedCells;
}