Dobrý den. Prosím o radu a pomoc se zpracováním "dbf" a "xls" souborů pomocí VB.NET. Vytvořil jsem "program" pomocí VBA - lze ho "distribuovat" jako doplněk pro Excel (xla). Rád bych ten program ale přepsal pomocí VB.NET tak, aby nebyl "záviský" na Excelu a mohl pracovat jako samostatný "exe" program. Nyní jsem ve fázi, kdy bych potřeboval pomocí VB.NET načíst vstupní soubor formátu "dbf", následně načíst číselník (tabulku) ve formátu "xls" a začít zpracovávat jednotlivé řádky databáze. Ve VBA byla data na jednotlivých listech, takže jsem jednoduše otevřel soubor a k datům se dostal přes objekt "Workbook("něco").Sheets("něco").cells(řádek, sloupec).Value". Ale jak ve VB.NET? Pomocí "StreamReader" to asi nepůjde, to je jak jsem ze zdejšího seriálu pochopil asi jen na text. Pak jsem něco četl o "ADO.NET" kdy se pomocí "Data Source Configuration Wizard" načte do programu nová datová sada (databáze). No a ještě jsem se setkal s možností jak k datům přistupovat pomocí "OleDbConnection" objektu (http://msdn.microsoft.com/library/defaul... Každopádně se v tom trochu ztrácím a tak bych potřeboval poradit, jakou cestou se dát - jaký zvolit postup pro otevření a načtení souborů (dbf a xls). Pro informaci přikládám původní kód VBA:
For radek_vstup = 2 To Sheets("Vstup").Rows.Count
'načtení vstupní hodnoty ze sloupce 34
Vstup = Sheets("Vstup").Cells(radek_vstup, 34).Value
'hledání hodnoty Vstupu v číselníku
PocetVyskytu = 0 'počet výskytů hodnoty Vstup v číselníku
For radek_ciselnik = 2 To Sheets("Ciselnik").Rows.Count
If Sheets("Ciselnik").Cells(radek_ciselnik, 1).Value = Vstup Then
PocetVyskytu = PocetVyskytu + 1
End If
Next radek_ciselnik
'zapíšu výstupní větu
Sheets("Vystup").Cells(radek_vystup, 1).Value = Vstup
Sheets("Vystup").Cells(radek_vystup, 2).Value = PocetVyskytu
radek_vystup = radek_vystup +1
Next radek_vstup
Poradíte prosím jaký zvolit postup pro otevření a načtení souborů (dbf a xls) a jak pracovat s jednotlivými hodnotami ze souborů? Díky, Jiří Doplněno: Tak na jednu část problému už bych snad řešení měl: Import dat z Excelu: ====================
Dim EXL As New Excel.Application()
Sub něco()
Dim List As New Excel.Worksheet()
List = EXL.Workbooks.Open("C:\soubor.xls").Worksheets.Item(1)
' a teď už snad můžu pokračovat ve stylu VBA ...
End Sub
Nicméně uživatel musí mít nainstalovaný Excel, který sice běží na pozadí, ale musí běžet. ... teď ještě to "dbf" ...
|