Microsoft Excel je jedním z nejoblíbenějších nástrojů pro práci s tabulkami a daty. Při práci s velkými tabulkami je často nutné znát počet řádků v souboru Excel. Místo ručního počítání těchto informací můžete použít nástroje Powershell-výkonný programovací jazyk a rozhraní příkazového řádku od společnosti Microsoft.
Powershell poskytuje nástroje pro automatizaci úloh a práci s různými formáty souborů, včetně Excelu. Pomocí malého skriptu na Powershell lze snadno spočítat počet řádků v souboru Excel, aniž byste jej museli otevírat v aplikaci Excel.
Chcete-li vypočítat počet řádků v souboru Excel pomocí aplikace Powershell, musíte použít modul ImportExcel, který poskytuje pohodlné příkazy pro práci s tabulkami Excel. Po instalaci tohoto modulu můžete použít příkaz Get-ExcelSheetInfo, který vám umožní získat informace o obsahu souboru Excel.
Počet řádků v Excelu pomocí Powershell
Chcete-li začít, musíte nainstalovat modul pro práci s Excelem v Powershell. Spusťte následující příkaz na příkazovém řádku:
Install-Module -Name ImportExcel
Po instalaci můžeme modul použít k otevření souboru Excel, čtení jeho dat a počítání počtu řádků. Zde je příklad skriptu Powershell, který tento úkol plní:
- Otevřete terminál.
- Nainstalujte balíček správy balíčků Homebrew zadáním následujícího příkazu a stisknutím klávesy Enter:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" - Pokud budete požádáni o potvrzení instalace balíčku Homebrew, stiskněte Enter.
- Po instalaci Homebrew spusťte následující příkaz k instalaci Powerhell:
brew cask install powershell - Instalace může chvíli trvat.
- Otevřete terminál.
- Chcete-li přidat úložiště Powershell, spusťte následující příkaz:
wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb - Chcete-li jej nainstalovat, spusťte následující příkaz:
sudo dpkg -i packages-microsoft-prod.deb - Chcete-li aktualizovat index balíčků, spusťte následující příkaz:
sudo apt-get update - Chcete-li nainstalovat Powershell, spusťte následující příkaz:
sudo apt-get install -y powershell
Poté můžete otevřít požadovaný soubor aplikace Excel pomocí metody Open:
$workbook = $excel.Workbooks.Open("путь_к_файлу")
Po otevření souboru je možné provést potřebné operace. Můžete například získat přístup ke konkrétnímu listu:
$worksheet = $workbook.Worksheets.Item(1)
Nyní je možné pracovat s daty na listu, měnit hodnoty buněk, číst data atd.
Po ukončení práce se souborem jej lze zavřít:
$workbook.Close()
A nakonec je nutné uvolnit zdroje používané objektem aplikace Excel.Application:
$excel.Quit()[System.Runtime.Interopservices.Marshal]::ReleaseComObject($worksheet)[System.Runtime.Interopservices.Marshal]::ReleaseComObject($workbook)[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel)[System.GC]::Collect()[System.GC]::WaitForPendingFinalizers()
Pomocí Powershell je tedy možné snadno otevřít soubor aplikace Excel, provést potřebné operace s daty a zavřít soubor uvolněním zdrojů.
Počítání řádků v Excelu pomocí Powershell
Když pracujete se soubory Excel v Powershell, často dochází k situacím, kdy je třeba počítat počet řádků v tabulce. Naštěstí s PowerShellem to lze udělat velmi jednoduše.
Prvním krokem je instalace modulu Microsoft Excel, pokud ještě není ve vašem počítači. Můžete to provést spuštěním následujícího příkazu v Powershell:
Install-Module -Name ImportExcel
Po instalaci modulu můžete pomocí příkazu "Get-ExcelSheetInfo" získat informace o souboru Excel, včetně počtu řádků v tabulce. Níže je uveden příklad kódu:
Import-Module -Name ImportExcel$ExcelFile = "C:\Путь_к_Файлу\файл.xlsx"$SheetName = "Лист1"$ExcelInfo = Get-ExcelSheetInfo -Path $ExcelFile -WorksheetName $SheetName$RowCount = $ExcelInfo.RowCountWrite-Output "Количество строк в таблице: $RowCount"
V uvedeném příkladu nejprve importujeme modul ImportExcel, abychom použili příkaz Get-ExcelSheetInfo. Poté zadáme cestu k souboru Excel a název listu, který nás zajímá.
Po provedení příkazu Get-ExcelSheetInfo získáme informace o souboru Excel, včetně počtu řádků v uvedeném listu. Tuto hodnotu uložíme do proměnné $RowCount a zobrazíme ji na obrazovce pomocí příkazu Write-Output.
Nyní, když víte, jak vypočítat počet řádků v Excelu pomocí Powershell, můžete tyto informace snadno použít k provádění různých úkolů souvisejících se zpracováním souborů aplikace Excel.
Zpracování chyb a výjimek
Při práci s Powershell a zpracování dat v Excelu může být nutné zpracovat chyby a výjimky. Zpracování chyb umožňuje zabránit nežádoucímu dokončení programu v případě chyby a pokračovat v provádění kódu.
Pro zpracování chyb a výjimek Powershell používá návrhy try , catch , finally . Uvnitř bloku try je uveden kód, ve kterém může dojít k chybě. Pokud dojde k chybě, spuštění kódu přejde do jednotky catch , kde lze chybu zpracovat a provést další kroky. Jednotka finally se provádí vždy po bloku try a catch , bez ohledu na chyby.
Příklad zpracování chyby při počítání počtu řádků v Excelu:
try catch finally
V tomto příkladu se spustí aplikace Excel, otevře se soubor, vybere se první list a spočítá se počet řádků. Pokud dojde k chybě, zobrazí se chybová zpráva v bloku catch. V bloku se soubor definitivně zavře a aplikace Excel skončí.
Zpracování chyb a výjimek v Powershell pomáhá předcházet předčasnému ukončení programu a umožňuje flexibilnější správu provádění kódu.
Uzavření souboru Excel a uvolnění paměti
Jakmile dokončíme práci se souborem Excel pomocí PowerShell, je důležité správně zavřít soubor a uvolnit paměť, aby nedošlo k úniku prostředků. Zde je několik kroků, které vám k tomu pomohou.
1. Zavřít pracovní sešit:
$workbook.Close()
2. Zavřít aplikaci Excel:
$excel.Quit()
3. Osvobodit paměť:
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($range)
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($worksheet)
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($workbook)
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($excel)
[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()
Po provedení těchto kroků bude soubor uzavřen, paměť bude uvolněna a zdroje budou správně zlikvidovány. To je důležité zejména při práci se spoustou souborů aplikace Excel nebo při automatizaci duplicitních úloh.