logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

C# eksport danych z DataGridView do pliku CSV bez Office – jak zapisać dane?

braciszek0 12 Wrz 2011 23:39 3652 3
REKLAMA
  • #1 9921623
    braciszek0
    Poziom 13  
    Posty: 111
    Pomógł: 5
    Ocena: 9
    Witam.
    Na wstępie kilka istotnych informacji:
    1) Baza danych zainstalowana jest na komputerze do obsługi urządzenia testującego. Wykorzystano serwer XAMPP mySQL.
    2) Na wspomnianym komputerze jest brak pakietu Microsoft Office.
    3) Program (nazwijmy go "klient") do obsługi bazy danych napisany jest w programie C# Microsoft Visual Studio 2008 (program zbiera dane ze skanera kodów kreskowych i wprowadza je do bazy mySQL)
    4)Serwer w firmie pomimo iż posiada pakiet Microsoft Office niestety nie posiada net framework, łączę się za pomocą "cieniasa"- więc nie mogę napisać drugiej aplikacji w C# do exportu danych z mySQL.

    Zrobione mam w programie export do datagridview interesującego mnie zakresu danych. Lecz ze względu na potrzebę "obróbki" tych danych w Excelu potrzebuję je jakoś zapisać do pliku np. CSV.
    Nie mam problemu z exportem z poziomu phpMyAdmin, aczkolwiek danymi tymi operują też jeszcze inne osoby dla których phpMyAdmin to "czarna magia".
    Z tego powodu potrzebuję w programie "klient" umieścić butona z funkcją exportu do jakiegoś pliku, z którego bezproblemowo zaimportują dane do Excela (ewentualnie dopiszę im w pliku Excela makro importujące)

    Proszę więc o pomoc w napisaniu kodu, który exportuje mi dane z datagridview do pliku (nie EXCEL!!).

    https://obrazki.elektroda.pl/4927190100_1315862853.jpg

    Mój kod(skrócony do istotnych rzeczy :D )
    Kod: C#
    Zaloguj się, aby zobaczyć kod


    Informacje, które chcę exportować otrzymuję z zapytania:
    Kod: C#
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 9924454
    braciszek0
    Poziom 13  
    Posty: 111
    Pomógł: 5
    Ocena: 9
    Doszedłem że mogę wyexportować podzapytaniem SQL

    Kod: SQL
    Zaloguj się, aby zobaczyć kod


    Tylko jak wstawić to pod butona bo jeżeli wpiszę
    Kod: C#
    Zaloguj się, aby zobaczyć kod

    Odrazu podkreśla mi jako błąd od : =new MySqlDataAdapter...

    Napewno zamiast MySqlDataAdapter muszę użyć coś innego tylko co??

    Dodano po 33 [minuty]:

    Znalazłem błąd w składni
    ENCLOSED BY ' " ' nie może zawierać "(cudzysłów)
    Ale i tak nadal nie działa.
  • REKLAMA
  • Pomocny post
    #3 9925193
    marcinj12
    Poziom 40  
    Posty: 3404
    Pomógł: 1024
    Ocena: 250
    Temat jest bardzo popularny, poszukaj na google pod hasłem C# datatable export csv, znajdziesz gotowe przykłady. Skoro dane masz już pobrane do tabeli, to nie lepiej eksportować tabelę? Zwykły zapis do pliku tekstowego + dwie zagnieżdżone pętle: foreach po wierszach tabeli, a dla każdego wiersza pętla foreach po kolejnych komórkach, a w odpowiednich miejscach wstawiasz separatory CSV.
    Tak samo możesz eksportować datagridview, tylko iterujesz po innych jego wierszach / komórkach.
  • #4 9945367
    braciszek0
    Poziom 13  
    Posty: 111
    Pomógł: 5
    Ocena: 9
    ROZWIĄZANIE
    Narazie zrobiłem tak:
    Musiałem dodać w formie:
    Kod: C#
    Zaloguj się, aby zobaczyć kod


    Następnie :
    Kod: C#
    Zaloguj się, aby zobaczyć kod


    Dla k(); kod wygląda następująco (Dla b(): podobnie tylko zmieniłem zapytanie SQL):

    Kod: C#
    Zaloguj się, aby zobaczyć kod



    Narazie tematu nie zamykam. Jak znajdę rozwiązanie by zapisywało do dwóch różnych zakładek w Excelu to wstawię kod i zamknę temat.

    "marcinj12" dzięki za podpowiedź.
REKLAMA