Mój obecny projekt to w zasadzie konwersja arkusza kalkulacyjnego Excela do aplikacji Windows. Natrafiłem na sekcję arkusza roboczego, korzystając ze stołu i widoków. Załóżmy, że stół wygląda następująco (dokładnie tak, jak to tylko każdego kwartału o dodatkowy wiersz dodany do dołu):Właściwy sposób wyszukiwania wartości z poziomu tabeli i wypełnienia go danymi
chcę naśladować vlookups w C# i mogę myśleć kilka różnych sposobów, jednak Szukam tego, co jest "najlepsze". Przez "najlepszy", mam na myśli najłatwiejszy do kodowania i najłatwiejszy w utrzymaniu, nie mam na myśli szybkości, jeśli działa w ciągu 10 sekund. dzieje się tak w metodzie, w której nazwa regionu i Yr/Qrt są przekazywane jako łańcuchy. Korzystając z nich, jakie struktury danych należy użyć do przechowywania danych w tabeli i jak mogę to zrobić w jak najmniejszej ilości kodu?
EDIT
Mam teraz otrzymaliśmy rzeczywista excel plik, który będę wydobycia to dane. Wszelkie porady, w jaki sposób dostać się tylko pola „yearQtr” oraz HRTC pola z C# byłoby bardzo mile widziane
Edit
właśnie odkryli, że ich maszyna działa ten program nie będzie miał Excel. Tak więc plik pokazany powyżej będzie musiał zostać zmieniony na inny format, zanim zostanie wczytany do aplikacji (będzie to obsługiwane przez ręczne zapisywanie pliku z programu Excel w formacie csv lub xml lub w dowolnym formacie.) Tak więc domyślam się, że moje pytanie brzmi: jak uzyskać wyżej opisane dane spośród CSV lub XML
Można mieć '' Lista dla każdego wiersza i przechowywać je wszystkie w 'Dictionary >' włączył przez ciąg Yr/QRT. Następnie możesz wyszukać 'List ' dla określonego Yr/Qrt i użyć indeksu do 'Listy ', aby uzyskać żądaną kolumnę. –
@HosseinNarimaniRad Mogłem, ale chcę uniknąć ludzi skupiających się na ulepszeniu mojej metody rozwiązania. Mój kod działa, ale nie sądzę, że jest to najlepszy sposób na rozwiązanie problemu. – jth41
Czy to musi być dynamiczne? na przykład czy zawsze są tylko 4 kolumny? lub może to rozwinąć/zmniejszyć kolumny. – Derek