Přejít na hlavní obsah

Jak získat všechny řádky ze souboru Excel v Delphi: průvodce krok za krokem

  • Mojmír Navrátilová
  • Praxe

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ů:

        1. Otevřete Delphi a vytvořte nový projekt.
        2. Z hlavní nabídky Delphi vyberte komponenty (Component) a vyhledejte kartu Import (Import).
        3. Na kartě Import vyberte Import ActiveX Control (importovat komponentu ActiveX).
        4. Vyberte Microsoft Office Excel ze seznamu dostupných komponent a klikněte na "Install" (instalovat).
        5. Vyberte verzi aplikace Excel, kterou chcete použít, a klikněte na "Next" (další).
        6. Zaškrtněte políčko "create Unit" (vytvořit modul) a vyberte název modulu, který bude obsahovat kód práce s Excelem.
        7. 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.