Xlsx to csv Läuft auf Jenkins

449
Narayana Boominathan

Ich habe ein Bat-Skript, das die Xlsx-Datei in eine CSV-Dateikonvertierung konvertiert. Beim Ausführen des Batch-Skripts über die Eingabeaufforderung wird keine Fehlermeldung angezeigt, und es wird ordnungsgemäß konvertiert. Die CSV-Datei wird am Speicherort generiert. Während ich dasselbe Fledermaus-Skript von meinen Jenkins starte, erhalte ich eine Fehlermeldung

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 

Hat jemand eine Idee, bitte helfen Sie

Mein 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% 

Ich habe mein Batch-Skript aus dem Jenkins Build-Teil aufgerufen. Rufen Sie mein Skript anXLS2CSV.bat WI_non_cluster_server_list.xlsx

0
Wie lautet der Code für Excel2csv.vbs? Wie wird dieses Skript auch im Stapel aufgerufen? EBGreen vor 6 Jahren 1
Meine Frage hat meine Fledermausdatei bearbeitet Narayana Boominathan vor 6 Jahren 0
Basierend auf diesem Code heißt es also, dass die Excel-Datei entweder fehlt oder gesperrt ist. Sie sollten zumindest das Vorhandensein der Datei im vbscript testen. EBGreen vor 6 Jahren 0
Ich habe getestet, dass die Datei an diesem Speicherort vorhanden ist. Wie ich bereits sagte, wurde dieselbe Batchdatei in meiner Befehlszeile ausgeführt. Sie enthält keine Fehler und die CSV-Datei wird generiert. Narayana Boominathan vor 6 Jahren 0
Ich kann Ihnen nur sagen, was der Code mir sagt. Die Zeile, die den Fehler generiert, versucht, die Excel-Datei zum Lesen zu öffnen. Der Fehler zeigt an, dass dies nicht möglich ist, weil die Datei fehlt oder gesperrt ist. Ich sage Ihnen nur, dass Sie als Kodierpraxis das Skript *** für das Vorhandensein der Datei testen und dann wissen würden, ob das Problem die Datei fehlt oder ob die Datei gesperrt ist. EBGreen vor 6 Jahren 0
In der 3. Zeile meines Skripts wird geprüft, ob die Datei existiert oder nicht **, wenn "% ~ 1" == "" echo (Eingabe der Excel-Datei fehlt ... & goto: eof ** Dies ist der Code Narayana Boominathan vor 6 Jahren 0
Ok, vorausgesetzt, nichts passiert in der Zwischenzeit, dann ist die Datei gesperrt. EBGreen vor 6 Jahren 0

0 Antworten auf die Frage