#include <Excel.au3>
#include <File.au3>
Local $Path_Excel = FileOpenDialog("Выберите файл Excel", @ScriptDir, "Файл Excel (*.xlsx)", 1);Диалог выбора файла Excel
If Not @error Then
Local $oExcel = _Excel_Open(False);Создаём экземпляр Excel в невидимом режиме
Local $oWorkbook = _Excel_BookOpen($oExcel, $Path_Excel);Открываем книгу Excel
Local $aExcel = _Excel_RangeRead($oWorkbook);Чтение файла Excel в массив $aExcel
_Excel_Close($oExcel);Закрываем экземпляр Excel
If IsArray($aExcel) Then ;если массив $aExcel создался - прочитан файл, то:
Dim $aResult[UBound($aExcel) * 2];Объявляем массив - результат с количеством элементов в два раза больше, чем строк в $aExcel
$aResult[0] = '#EXTM3U';Первая строка результата всегда такая будет
$aResult[1] = '#PLAYLIST: IPTV';вторая строка результато тоже всегда такая
For $i = 1 To UBound($aExcel) - 1;Цикл - перебираем все элементы массива $aExcel начиная с 1-го, так , как в "0" - название колонок
$aResult[$i * 2] = '#EXTINF:-1,' & $aExcel[$i][0] ;Нечётные строки, начиная с 3-й -это первая колонка в Excel(она-же нулевая в массиве)
$aResult[$i * 2 + 1] = 'udp://@' & $aExcel[$i][1] ;Чётные строки, начиная с 4-й -это вторая колонка в Excel(она-же первая в массиве)
Next ;следующая строка
$NewFile = InputBox("Внимание !", "Ведите название файла-результата (без расширения)");диалог на ввод названия для нового файла
$File_m3u = $NewFile & '.m3u';дописываем расширение m3u к выбраному названию
If Not FileExists($File_m3u) Then ;Если нет файла m3u , то
_FileCreate($File_m3u) ;создаём его, если есть, то ничего не будет, скрипт просто завершится.
_FileWriteFromArray($File_m3u, $aResult);Запись массива в вновь созданный файл m3u
EndIf
EndIf
EndIf