[ Marko Medojević @ 05.05.2009. 15:36 ] @
Ćao!

Radim jedan program koji izmađu ostalog treba da importuje podatke iz excel fajla. Pri tom importovanju bitna je pozadina ćelije jer se drugom bojom označavaju kategorije.
Stvar sam rešio na sledeći način:
Code:
 
Microsoft.Office.Interop.Excel.Range cellRange = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[row, col];
string color = cellRange.Interior.PatternColor.ToString();


Kod koji sam napisao razlikuje boje pozadine, samo što mi nije baš najjasnije kakvu promenljivu vraća cellRange.Interior.PatternColor. U pitanju je double promenljiva. Za žuto polje sam dobio vrednost 16711935, a za belo 0. Na koji način mogu tu vrednost mogu konvertovati u neku normalniju reprezentaciju boje(hexadecimal, System.Drawing.Color, ...)?
[ Igor Gajic @ 05.05.2009. 16:24 ] @
Imas da ti je:
zuta == 16711935 == 0xFF00FF
bela == 0 == 0x000000


Kod klase Color postoji jos i alfa kanal koji je prvih 8 bitova....

E sad pretvaranje u Color:

Code:

Color boja = Color.FromArgb(unchecked((int)(0xFF000000 | 16711935)));
[ Marko Medojević @ 05.05.2009. 17:21 ] @
Hvala!