Wczytywanie i wyszukiwanie odpowiednich kolumn z Excela

0

Hej :)

Szukałem w starszych postach na forum, jednak nie znalazłem akurat tego, czego potrzebuję, dlatego dodaję nowy post. Otóż przy programie zaliczeniowym bardzo przydałaby mi się możliwość odczytywania danych z excela. To jeszcze jestem w stanie zrobić (w miarę), ale potrzebowałbym mieć możliwość zapisu różnych elementów do różnych zmiennych. Dajmy na to w pierwszej kolumnie jest imię, w drugiej nazwisko, trzecia to nr telefonu, a ostatnia to liczba kilometrów. Nie mam zielonego pojęcia w jaki sposób mógłbym to zapisywać do osobnych zmiennych, aby wyświetlić to na ekranie, ani również jak w takiej sytuacji można wyszukać daną osobę (np. po wpisaniu nazwiska, wyszukuje mi wszystkie osoby o podanym nazwisku i wyświetla dalsze informacje). Dane mogę ewentualnie rozdzielić konkretnymi znakami, jeśli tak by było łatwiej/bardziej optymalnie, a nie wpisywać je do osobnych kolumn.
Połączę wszystko listą dwukierunkową, bo tak chyba będzie najwygodniej, co do reszty programu też już wiem co i jak chcę zrobić, ale póki co utknąłem w martwym punkcie :/

Jeśli ktoś jest w stanie mi pomóc, to byłbym bardzo wdzięczny :)

0

co to znaczy w miarę, jesteś w końcu zdolny odczytać zawartość danej komórki czy nie? I dlaczego do osobnych zmiennych a nie do pól klasy Osoba ?

0
Miang napisał(a):

co to znaczy w miarę, jesteś w końcu zdolny odczytać zawartość danej komórki czy nie? I dlaczego do osobnych zmiennych a nie do pól klasy Osoba ?

Jak próbowałem wcześniej to czyta mi cały wiersz jako ciąg znaków. Dlatego napisałem, że "w miarę" jestem to w stanie zrobić. Taki może zbyt duży skrót myślowy. Jeśli chodzi o zmienne, to po prostu łatwiej mi się nimi posługuje niż klasami. Nie mam zbyt dużego doświadczenia i wiedzy w programowaniu, dlatego większość rzeczy staram się robić jak najprostszymi metodami, dopóki tych trudniejszych w pełni nie zrozumiem, chociaż rację Ci muszę przyznać, że klasy byłyby tutaj więcej niż odpowiednie :/

0

to jak odczytujesz cały wiersz?

0
Miang napisał(a):

to jak odczytujesz cały wiersz?

Normalnie ;)
Gdy plik jest już otwarty, to:
fscanf(plik_csv, "%.2f",kilometry);

Zakładając, że zrobiłem wcześniej zmienną typu double o nazwie kilometry, bo tutaj tylko cyfry odczytam. Potrzeba mi jedynie czegoś co pozwoliłoby mi, aby separator (np. średnik) pozwalał na rozdzielenie elementów przy zapisie.
Wtedy takie losowo wygenerowane dane:
412517889;Krystyna;Michalska;5567;1422
641702116;Izabela;Kowalczyk;4777;4144
zapisane w jednej kolumnie mógłbym przydzielić do pięciu różnych zmiennych.

1

czyli pliki *.csv a nie Excela
wczytaj całą linijkę do zmiennej tymczasowej, szukaj w niej kolejnych separatorów i przypisuj tekst pomiędzy nimi do zmiennych
skoro używasz raczej C niż C++ to funkcje typu atoi, strtok, i użycie struct do zgrupowania danych osoby

0
Miang napisał(a):

czyli pliki *.csv a nie Excela
wczytaj całą linijkę do zmiennej tymczasowej, szukaj w niej kolejnych separatorów i przypisuj tekst pomiędzy nimi do zmiennych
skoro używasz raczej C niż C++ to funkcje typu atoi, strtok, i użycie struct do zgrupowania danych osoby

O, to by było naprawdę super :D Nie znałem funkcji strtok, a właśnie czegoś takiego potrzebowałem, tylko znaleźć nie potrafiłem. Z dalszą częścią już powinienem sobie poradzić, o ile innych trudności po drodze nie napotkam.

Dzięki wielkie :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1