Xlsx в CSV работает на Дженкинс

394
Narayana Boominathan

У меня есть скрипт bat, который преобразует файл xlsx в формат csv. Пока я запускаю пакетный скрипт из командной строки, я не получаю никакой ошибки, он конвертируется правильно, и файл csv генерируется на месте. Но пока я запускаю тот же сценарий летучей мыши из моего Jenkins, я получаю сообщение об ошибке

C:\Users\SVCT-WI-Jenkins\Desktop\Post_Patching\Mapping_Server\Excel2csv.vbs(9, 1) Microsoft Excel: Microsoft Excel cannot access the file 'C:\Users\SVCT-WI-Jenkins\Desktop\Post_Patching\Mapping_Server\WI_non_cluster_server_list.xlsx'. There are several possible reasons:  The file name or path does not exist. The file is being used by another program. The workbook you are trying to save has the same name as a currently open workbook 

Кто-нибудь есть идея, пожалуйста, помогите

Мой XLS2CSV.bat

 ::XLS2CSV.bat <xlsx_file> [csv_file_name] REM @echo off& setlocal if "%~1"=="" echo(Excel file input missing...&goto:eof if not exist "%~dp0excel2csv.vbs" ( ( echo Set objFSO = CreateObject^("Scripting.FileSystemObject"^) echo src_file = objFSO.GetAbsolutePathName^(Wscript.Arguments.Item^(0^)^) echo dest_file = objFSO.GetAbsolutePathName^(WScript.Arguments.Item^(1^)^) echo Dim oExcel echo Set oExcel = CreateObject^("Excel.Application"^) echo oExcel.DisplayAlerts = FALSE echo oExcel.Interactive = FALSE echo Dim oBook echo Set oBook = oExcel.Workbooks.Open^(src_file, 0, TRUE^) echo Set objWorksheet = oExcel.Worksheets^(1^) echo objWorksheet.Activate echo oBook.SaveAs dest_file, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, TRUE echo oBook.Close False echo Set objWorksheet = Nothing echo set oBook = Nothing echo oExcel.Quit echo set oExcel = Nothing )>>"excel2csv.vbs" ) if "%~2"=="" set "outfile=%~dpn1.csv" else set "Outfile=%~2" "C:\Windows\System32\cscript.exe" %~dp0Excel2csv.vbs "C:\Program Files (x86)\Jenkins\workspace\test\Post_Patching\Mapping_Server\%~1" "%Outfile%" echo %errorlevel% exit/b %errorlevel% 

Я позвонил в мой пакетный сценарий из части Jenkins Build. Назови мой сценарийXLS2CSV.bat WI_non_cluster_server_list.xlsx

0
Какой код для Excel2csv.vbs? Кроме того, как этот сценарий вызывается в пакете? EBGreen 6 лет назад 1
Отредактировал мой вопрос, включил мой файл летучей мыши Narayana Boominathan 6 лет назад 0
Таким образом, основываясь на этом коде, он говорит, что файл Excel либо отсутствует, либо заблокирован. Вы должны по крайней мере проверить наличие файла в VBScript. EBGreen 6 лет назад 0
Я проверил, что файл находится в этом месте, как я уже говорил ранее, при запуске того же командного файла в моей командной строке, он не содержит ошибок, и создается файл CSV. Narayana Boominathan 6 лет назад 0
Слушай, все, что я могу тебе сказать, это то, что говорит мне код. Строка, которая генерирует ошибку, пытается открыть файл Excel для чтения. Ошибка указывает, что это не может сделать это, потому что файл отсутствует или заблокирован. Я просто говорю вам, что в качестве наилучшей практики кодирования, если у вас есть тест *** script *** на наличие файла, тогда вы будете знать, если проблема в том, что файл отсутствует или заблокирован. EBGreen 6 лет назад 0
В 3-й строке моего скрипта проверяется, существует ли файл **, если "% ~ 1" == "" echo (отсутствует ввод файла Excel ... & goto: eof **, это код Narayana Boominathan 6 лет назад 0
Итак, если в промежуточный период ничего не произойдет, тогда файл заблокирован. EBGreen 6 лет назад 0

0 ответов на вопрос

Похожие вопросы