Excel használata adatbázisként

Excel használata adatbázisként
2015-06-10T09:08:38+02:00
2015-06-10T14:06:15+02:00
2022-12-02T14:30:45+01:00
Kezdő Programozó
Sziasztok!

Kezdő programozó vagyok és szeretnék egy kis ssaját programot írni ami adatbázissal dolgozik. Adatbázisnak Excel táblákat szeretnék használni. Az lenne a kérdés, hogy ezt hogyan tudnám megoldani C# programnyevben? Keresgéltem google-on de nem találtam semmit :/

Előre is köszönöm!
Mutasd a teljes hozzászólást!
1. Ne excel-t használj adatbázisként, hanem ms sql compact edition-t vagy ms access-t vagy sqlite-ot. Mindegyikhez van .net-es csatoló felület és ezek tényleg adatbázisok.

2. Ha vmilyen érthetetlen oknál fogva mégis ragaszkodsz az excel-hez, akkor az excel-t is kezelheted adatbázisként ODBC driver segítségével:

var fileName = "ide jön a teljes file útvonal"; var connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=Excel 8.0;", fileName); var adapter = new OleDbDataAdapter("SELECT * FROM [munkalapneve] where ...", connectionString); var ds = new DataSet(); adapter.Fill(ds, "név");

De ha frissíteni is szeretnéd a db-det, nem csak megjeleníteni, akkor témyleg felejtsed el az excel-t. Az excel az nem adatbázis, hanem táblázatkezelő program.
Mutasd a teljes hozzászólást!

  • És EZT SEM találtad meg?...
    Mutasd a teljes hozzászólást!
  • Keresgéltem google-on de nem találtam semmit :/

    Bocsi, de elárulnád, miként tetted?

    Én csak ennyit véstem a keresőbe (magyar találatokat kérve): C# + Excel
    A harmadik találat..(C# - Alapvető műveletek az Excel-ben)

    Most rátérünk az Excel alkalmazás programozására, amely során a legalapvetőbb műveletek elvégzése lesz a célunk, természetesen C# szemszögéből nézve. Ilyen művelet az új táblázat létrehozása, meglévő megnyitása, mentése és természetesen az adatok írása az Excel táblába.

    Tovább is van , írjam még?
    Mutasd a teljes hozzászólást!
  • Képen mellékeltem a program kinézetét már egy progressz adatbázisra működő program csak és átszereetném alakítani itthoni használatra úgy hogy Excel legyen az adatbázisa. Lekérdezés gombra kattintva kiszedje az excelből azokat az adatokat amik a megadott idő intervallumba esnek illetve az üzletkötők combo boxból kiválasztott üzlekkötőkre szűrje le és a hozzájuk tartozó adatokat írja nekem ki. Most lehet, hogy én vagyok a hülye, de amiket küldtetek abból sajnos ezt nem tudom összerakni.
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • A program kinézete teljesen irreleváns. Inkább az ide vágó forráskódot kellett volna bemásolnod, valamint azt, hogy hogyan próbáltad átszabni és mi volt a hibaüzenet/jelenség ami miatt nem sikerült.
    Mutasd a teljes hozzászólást!
  • Gondolom/remélem, hogy egy excel táblázatot meg tudsz nyitni C#-ból.
    Amennyiben ez sikerül, akkor kreálj egy table-t, s töltsd fel a táblázat tartalmával.
    Ezt követően már feledheted az excel-t mert a table már minden kérdésedre választ adhat.
    Egy kód VB-ben (egyszerűen áttehető C#-ba):

    Public Function ExRead2(ByRef TablaNeve As String, ByVal Azonosito As String) As DataTable Dim table As DataTable Dim myTable As DataTable = New DataTable Dim xcFileInfo As IO.FileInfo Dim xcFileDialog As New OpenFileDialog() xcFileDialog.Filter = "Excel Worksheets|*.xlsx;*.xls" xcFileDialog.Title = "Válassza ki a betöltendő excel táblázatot!" If xcFileDialog.ShowDialog = DialogResult.OK Then xcFileInfo = New IO.FileInfo(xcFileDialog.FileName) TablaNeve = System.IO.Path.GetFileName(xcFileDialog.FileName) If SearchInString(TablaNeve, Azonosito) Then Using con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + xcFileInfo.ToString + ";Extended Properties=Excel 12.0;") con.Open() table = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing) Dim sheetname As String = table.Rows(0)("table_name").ToString Dim myDA As OleDbDataAdapter = New OleDbDataAdapter("select * from [" + sheetname + "]", con) myDA.Fill(myTable) End Using Else MsgBox(TablaNeve, MsgBoxStyle.Critical, "Hibás választás") End If End If Return myTable End Function
    Mutasd a teljes hozzászólást!
  • 1. Ne excel-t használj adatbázisként, hanem ms sql compact edition-t vagy ms access-t vagy sqlite-ot. Mindegyikhez van .net-es csatoló felület és ezek tényleg adatbázisok.

    2. Ha vmilyen érthetetlen oknál fogva mégis ragaszkodsz az excel-hez, akkor az excel-t is kezelheted adatbázisként ODBC driver segítségével:

    var fileName = "ide jön a teljes file útvonal"; var connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=Excel 8.0;", fileName); var adapter = new OleDbDataAdapter("SELECT * FROM [munkalapneve] where ...", connectionString); var ds = new DataSet(); adapter.Fill(ds, "név");

    De ha frissíteni is szeretnéd a db-det, nem csak megjeleníteni, akkor témyleg felejtsed el az excel-t. Az excel az nem adatbázis, hanem táblázatkezelő program.
    Mutasd a teljes hozzászólást!
  • Köszönöm a tippet akkor nem excelt fogok használni. Nem ragaszkodok hozzá csak egy ismerősöm tanácsolta, hogy azt használjak adatbázisnak
    Mutasd a teljes hozzászólást!
  • Egy kérdés: Szeretnék, de nem tudom hogyan lehet oroszlánt idomítani?
    Egy válasz: Mivel egy kicsit veszélyes, idomíts inkább kutyát!
    Eredmény: Jó, akkor inkább egeret idomítok...

    Ez csak egy vicces vélemény, melyet ha valaki nem ért, nem kell megsértődni...
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd