W praktyce bardzo rzadko zapisujemy tabelę Excela do formatu HTML. Warto jednak dowiedzieć się jak zachowuje się formatowanie warunkowe i niestandardowe już po eksporcie do nowego formatu.
Formatowanie warunkowe
Temat eksportu tabeli Excela do formatu HTML wydał mi się dosyć prosty. Faktycznie, po szybkim researchu, z pomocą przyszła kolekcja PublishObjects i obiekt Workbook. Pierwsze próby eksportu okazały się pomyślne i sprawę uznałem za zakończoną…
Przy drugim podejściu i eksporcie innego zakresu komórek, okazało się, że Excel gubi gdzieś po drodze formatowanie warunkowe.
W oryginalnym pliku miałem czerwone kropki (opóźnienie) i żółte trójkąty (brak opóźnienia). W pliku HTML tych ikonek już niestety nie było. Mojemu Klientowi bardzo zależało na tym, aby ta prosta informacja była pokazana w formie takiej prostej wizualizacji.
Musiałem zatem znaleźć inne rozwiązanie, ponieważ eksport do HTML gubił po drodze formatowanie warunkowe.
Formatowanie niestandardowe
Moim drugim pomysłem było zastosowanie formatowania niestandardowego. Wiedziałem, że opcja ta oferuje spore możliwości, ale mniejsze od formatowania warunkowego.
Wiedziałem, że muszę najpierw znaleźć symbol wypełnionego kółka i trójkąta. Bardzo szybko udało mi się je namierzyć. Znak równości wyświetlony czcionką Webdings przeistacza się w kółko, natomiast cyfra 5 w nieco mniejszy pod względem rozmiaru trójkąt.
Pierwszy problem rozwiązany! Pozostał temat nadania kolorów tym ikonom….
I właśnie tutaj z pomocą przyszło formatowanie niestandardowe. Wiedziałem, że pozwala ono ustawić osobny format dla liczb dodatnich, liczb ujemnych, zera i tekstu.
Co więcej, niewielu użytkowników Excela wie o tym, że możemy też określić kolor w jakim mają zostać wyświetlone dane! Mamy do dyspozycji aż 56 barw. http://dmcritchie.mvps.org/excel/colors.htm.
Format na jaki się zdecydowałem to: [Color44]0;;;[Color3]Standardowy.
W pierwszej kolejności brane są pod uwagę liczby dodatnie, czyli nasza cyfra 5. Ustawiłem kolor 44, czyli ciemnożółty. Liczby ujemne i zera nie są wyświetlane, natomiast dla tekstu (znak równości) wyświetlamy dane czerwoną czcionką.
Tabela HTML z zachowanym formatem
W taki oto prosty sposób udało mi się osiągnąć zamierzony efekt. Ta prosta wizualizacja bez przeszkód została utrwalona w pliku HTML.