Delphi je výkonné integrované vývojové prostředí (IDE), které vám umožňuje vytvářet aplikace v programovacím jazyce Pascal. Spolu s bohatými funkcemi nabízí Delphi vývojářům široké možnosti pro práci s různými typy dat a formáty souborů. V tomto podrobném tutoriálu se podíváme na to, jak získat všechny řádky ze souboru Excel v Delphi.
Excel je oblíbená tabulková aplikace, která je široce používána v různých oblastech činnosti. Delphi má několik způsobů, jak získat data ze souboru Excel, ale zaměříme se na použití knihovny Excelu-automatizace, která poskytuje úplnou kontrolu nad soubory Excel a jejich daty.
Chcete-li začít, budete potřebovat knihovnu excelové automatizace, která je dodávána s Delphi. Tuto knihovnu najdete v části "Components" na panelu nástrojů Delphi. Jednoduše přidejte tuto knihovnu do svého projektu, abyste měli přístup ke všem možnostem automatizace aplikace Excel.
Je důležité si uvědomit, že k úspěšné práci se soubory Excel v Delphi budete také potřebovat nainstalovaný Microsoft Excel v počítači. Bez nainstalovaného balíčku Excel mohou nastat problémy při provádění operací se soubory Excel.
Jak získat data ze souboru Excel v Delphi
V této příručce se podíváme na to, jak získat všechny řádky ze souboru Excel v Delphi. K tomu použijeme komponenty z knihovny TMS FlexCel.
Krok 1: Instalace TMS FlexCel
- Stáhněte a nainstalujte TMS FlexCel z oficiálních stránek na adrese: https://www.tmssoftware.com/site/tmsfmxpack.asp..
- Připojte součást TMS FlexCel k vašemu projektu v Delphi.
Krok 2: načítání a čtení souboru aplikace Excel
- Vytvořte instanci třídy txlsfile, která představuje soubor Excel: var xls: TXlsFile;
- Stáhněte si soubor Excel pomocí metody Open: xls.Open ('cesta_k_souboru.xls');
Krok 3: získání dat ze souboru Excel
- Získejte počet řádků v souboru Excel pomocí vlastnosti RowCount: var rowCount: Integer; rowCount: = xls.RowCount;
- Projděte každý řádek a získejte hodnotu každé buňky pomocí metody CellValue: var i, j: Integer; var cellValue: Variant;
- for i := 1 to rowCount do
- for j := 1 to xls.ColCount do
- cellValue := xls.CellValue(i, j);
- // Zde proveďte potřebné zpracování hodnoty buňky
Krok 4: uzavření souboru Excel
- Po práci se souborem Excel jej zavřete pomocí metody Close: xls.Close;
Nyní víte, jak získat všechny řádky ze souboru Excel v Delphi pomocí TMS FlexCel. Tyto informace můžete použít k dalšímu zpracování dat nebo zobrazení na vašem uživatelském rozhraní.
Krok 1: Připojení knihovny Excel
Než začnete pracovat se souborem Excel v Delphi, musíte připojit příslušnou knihovnu. V našem případě je to Knihovna Microsoft Office Excel.
Chcete-li tuto knihovnu připojit, musíte postupovat podle následujících kroků:
- Otevřete Delphi a vytvořte nový projekt.
- Z hlavní nabídky Delphi vyberte komponenty (Component) a vyhledejte kartu Import (Import).
- Na kartě Import vyberte Import ActiveX Control (importovat komponentu ActiveX).
- Vyberte Microsoft Office Excel ze seznamu dostupných komponent a klikněte na "Install" (instalovat).
- Vyberte verzi aplikace Excel, kterou chcete použít, a klikněte na "Next" (další).
- Zaškrtněte políčko "create Unit" (vytvořit modul) a vyberte název modulu, který bude obsahovat kód práce s Excelem.
- Pro dokončení instalace klikněte na "Finish" (dokončit).
Po provedení těchto kroků bude knihovna aplikace Excel připojena k projektu a budete moci používat její komponenty a funkce pro práci se soubory aplikace Excel.
Krok 2: otevření souboru Excel
Jakmile vytvoříme nový projekt v Delphi, dalším krokem je otevření souboru Excel. K tomu použijeme komponentu TExcelApplication, která vám umožní pracovat se soubory Excel.
Na začátku postupu je nutné přidat do sekce uses modulu následující řádek:
uses ComObj;Dále musíme vytvořit proměnnou představující objekt aplikace Excel. Chcete-li to provést, v sekci var postupy oznamujeme proměnnou typu Variant :
varExcel: Variant;Nyní můžeme otevřít soubor Excel. K tomu použijeme metodu Getactiveoleobject třídy TExcelApplication . Například otevřít soubor " example.xlsx", postupujte podle následujícího kódu:
Excel := GetActiveOleObject('Excel.Application');Excel.Workbooks.Open('путь_к_файлу\example.xlsx');Všimněte si, že místo "cesta_k_souboru" musíte zadat cestu k souboru v počítači. Pokud je soubor ve stejném adresáři jako spustitelný soubor programu, můžete jednoduše zadat jeho název.
Nyní máme otevřený soubor Excel a jsme připraveni přejít k dalšímu kroku - čtení řádků z tohoto souboru.
Krok 3: Čtení dat ze souboru Excel
Jakmile je soubor Excel úspěšně otevřen a máme přístup k požadovanému listu, můžeme z něj začít číst data. K tomu použijeme cyklus, který projde všemi vyplněnými řádky v souboru.
V Delphi existuje několik způsobů, jak číst data ze souboru Excel. Jedním z nejoblíbenějších způsobů je použití objektu TExcelApplication a jeho metody InvokeExcel. Tato metoda nám umožňuje přistupovat k různým funkcím aplikace Excel, včetně čtení a zápisu dat.
Zde je příklad kódu, který nám umožňuje získat všechny řádky ze souboru Excel:
varExcelApp: TExcelApplication;Sheet: Variant;RowCount: Integer;i: Integer;beginExcelApp := TExcelApplication.Create(nil);ExcelApp.Connect;ExcelApp.Visible := False;Sheet := ExcelApp.Workbooks[1].Sheets[1];RowCount := Sheet.UsedRange.Rows.Count;for i := 1 to RowCount dobegin// Получение строки из текущей строки файла Excel// и выполнение необходимых действий// (например, сохранение или вывод данных)// . end;ExcelApp.Disconnect;ExcelApp.Free;end;V tomto příkladu používáme objekt TExcelApplication k otevření souboru Excel a získání přístupu k listu. Poté určíme celkový počet vyplněných řádků v souboru pomocí vlastnosti usedrange.Rows.Count.
Dále procházíme každým řádkem pomocí smyčky for a pro každý řádek provádíme požadované akce (jako je ukládání dat nebo výstup na obrazovku).
Po dokončení čtení dat zavřeme Excel a uvolníme zdroje.
Nyní, když máme kód pro čtení dat ze souboru Excel, můžeme přejít k dalšímu kroku.
- for j := 1 to xls.ColCount do
- for i := 1 to rowCount do