דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תוכנה
  3. חיפוש תוכנה: המרת קובץ אקסל (xlsx) לcsv

חיפוש תוכנה: המרת קובץ אקסל (xlsx) לcsv

מתוזמן נעוץ נעול הועבר תוכנה
15 פוסטים 6 כותבים 397 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • M מנותק
    M מנותק
    mekev
    כתב ב נערך לאחרונה על ידי
    #1

    אני מחפש תוכנה
    שמאפשרת ב'קליק ימני' על קובץ אקסל (xls/xlsx)
    להמיר את הקובץ לתיקייה הנוכחית בסיומת csv
    (ושומרת על קידוד הטקסט לעברית)


    ארחיב על הצורך - ואולי אמצא פתרון אחר
    ברשותי תוכנה שמאפשרת לייבא רק קבצי CSV
    בפועל מרבית הקבצים שאני נדרש לייבא
    מתקבלים בפורמט אקסל רגיל
    מה שמצריך לבצע את הסאגה של פתיחת הקובץ >שמור בשם>וכו'

    shragaS תגובה 1 תגובה אחרונה
    1
    • חגיח מנותק
      חגיח מנותק
      חגי
      כתב ב נערך לאחרונה על ידי
      #2

      אם יש לך סתם תוכנה (שאתה רוצה לכתוב אחת)
      אתה יכול לשים אותה תחת shell:sendto ואז לפתוח מהלחצן ימני

      6739d653-f12e-477b-9864-d8e40dea6874-image.png
      c5f30dec-aa41-43b8-8226-bb95e3166663-image.png

      תגובה 1 תגובה אחרונה
      5
      • shragaS מנותק
        shragaS מנותק
        shraga
        השיב לmekev ב נערך לאחרונה על ידי
        #3

        @mekev
        יתכן שזה ימלא את מבוקשך
        https://gist.github.com/tonyerskine/77250575b166bec997f33a679a0dfbe4
        וראה גם כאן, כאן וכאן.

        אולי מישהו יתנדב לסדר לך משהו מושלם.

        קונים בעלי אקספרס? התוסף שיעזור לכם ✅ למצוא את המחיר הכי זול למוצר בעלי אקספרס 💰, ✅ לחפש כל מוצר שמצאתם באינטרנט ישירות בעלי 🔍, ✅ להשוות מחירים עם טימו 👈 התקינו חינם!⚡

        OdedDvirO תגובה 1 תגובה אחרונה
        1
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          כתב ב נערך לאחרונה על ידי dovid
          #4

          @shraga הוא מתכנת, כך שהוא צריך לסדר לעצמו אבל הוא חשב שיש כבר משהו מוכן.
          אני יותר הייתי ממליץ על AutoHotKey ודומיו, אבל אני לא מכיר מספיק.
          הכי טוב זה לכתוב קוד שעושה את העבודה, לסגור את זה כתוכנה שמקבלת ארגומנט קובץ, ולהוסיף את זה לקליק ימני של .xlsx.
          את החלק האחרון אני לא יודע בדיוק איך מבצעים.

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          M תגובה 1 תגובה אחרונה
          3
          • M מנותק
            M מנותק
            mekev
            השיב לdovid ב נערך לאחרונה על ידי mekev
            #5

            ראשית תודות
            @חגי על הדרך כיצד להצמיד את זה ל'קליק הימני'
            @shraga על הקישורים המאוד רלוונטיים
            @dovid על האמון, האמונה, וההכוונה

            והרי הפתרון שעשיתי
            יצרתי שני קבצים בתיקייה
            (הפעלה ע"י הקובץ bat)

            1. בשם: excel-to-csv.bat
            FOR /f "delims=" %%i IN ('DIR %1 /b') DO (
                cscript to-csv.vbs "%%i" "%%~ni.csv"
            )
            
            1. בשם: to-csv.vbs
            if WScript.Arguments.Count < 2 Then
                WScript.Echo "Please specify the source and the destination files. Usage: ExcelToCsv <xls/xlsx source file> <csv destination file>"
                Wscript.Quit
            End If
            
            csv_format = 6
            
            Set objFSO = CreateObject("Scripting.FileSystemObject")
            
            src_file = objFSO.GetAbsolutePathName(Wscript.Arguments.Item(0))
            dest_file = objFSO.GetAbsolutePathName(WScript.Arguments.Item(1))
            
            Dim oExcel
            Set oExcel = CreateObject("Excel.Application")
            
            Dim oBook
            Set oBook = oExcel.Workbooks.Open(src_file)
            
            oBook.SaveAs dest_file, csv_format
            
            oBook.Close False
            oExcel.Quit
            

            זה כרגע פעיל רק מהתיקייה שבה הקבצים נמצאים (בדר"כ בהורדות..)
            וזה כרגע מספק אותי....

            תגובה 1 תגובה אחרונה
            9
            • WheneverW מנותק
              WheneverW מנותק
              Whenever
              כתב ב נערך לאחרונה על ידי
              #6

              מדהים!

              1. למה להגביל אותו שיעבוד רק משני קבצי אקסל ומעלה?
              2. לי זה עושה באג שזה יוצר גם שני קבצי CSV עם התוכן של הBAT וVBS.

              אני חושב להפוך את סקריפט שימיר CSV לאקסל. זה יהיה לי שימושי.

              תודה רבה!

              M תגובה 1 תגובה אחרונה
              1
              • M מנותק
                M מנותק
                mekev
                השיב לWhenever ב נערך לאחרונה על ידי
                #7

                @Whenever כתב בחיפוש תוכנה: המרת קובץ אקסל (xlsx) לcsv:

                למה להגביל אותו שיעבוד רק משני קבצי אקסל ומעלה?

                למה אתה חושב?
                אצלי זה עובד גם על קובץ בודד

                @Whenever כתב בחיפוש תוכנה: המרת קובץ אקסל (xlsx) לcsv:

                לי זה עושה באג שזה יוצר גם שני קבצי CSV עם התוכן של הBAT וVBS.

                כאשר אתה מריץ את הקובץ ישירות בתיקייה
                זה אכן כפי שתארת

                אבל אני מפעיל את זה ב'קליק ימני' (shell:sendto )
                ואז זה עובד תקין
                וממיר רק את הקובץ הרלוונטי בעותק אחד

                @Whenever כתב בחיפוש תוכנה: המרת קובץ אקסל (xlsx) לcsv:

                אני חושב להפוך את סקריפט שימיר CSV לאקסל. זה יהיה לי שימושי.

                אדרבה, נשמח לשיתוף
                אתה גם מוזמן לשפר ולייעל את הקוד הנוכחי (שאין לי כל קשר אליו)
                כגון: שאם יש שני גיליונות, זה יצור שני קבצים
                ושזה יעבוד בצורה גלובלית בכל סייר הקבצים

                תגובה 1 תגובה אחרונה
                0
                • OdedDvirO מנותק
                  OdedDvirO מנותק
                  OdedDvir
                  השיב לshraga ב נערך לאחרונה על ידי OdedDvir
                  #8

                  @shraga כתב בחיפוש תוכנה: המרת קובץ אקסל (xlsx) לcsv:

                  אולי מישהו יתנדב לסדר לך משהו מושלם.

                  @dovid כתב בחיפוש תוכנה: המרת קובץ אקסל (xlsx) לcsv:

                  את החלק האחרון אני לא יודע בדיוק איך מבצעים.

                  @Whenever כתב בחיפוש תוכנה: המרת קובץ אקסל (xlsx) לcsv:

                  אני חושב להפוך את סקריפט שימיר CSV לאקסל. זה יהיה לי שימושי.

                  אחרי ש @mekev עשה עבודה יפה, אני מתנדב בשמחה להוסיף את השיפורים שלי:

                  סקריפט batch משופר להמרה דו כיוונית (Excel<->Csv):

                  @echo off
                  if /i [%2]==[csv] goto TryConvert
                  if /i [%2]==[xlsx] goto TryConvert
                  
                  echo Unsupported output format specified: %2
                  exit /b
                  
                  :TryConvert
                  echo Converting file %1 to %2 format, please wait...
                  cscript /nologo "%~dp0ExcelCsvConvertorScript.vbs" "%~dpnx1" "%~dpn1.%2" %2
                  echo Done!
                  

                  סקריפט VB משופר להמרה דו כיוונית:

                  if WScript.Arguments.Count <> 3 Then
                      Wscript.Echo "Error: invalid number of arguments specified." & vbNewline
                      WScript.Echo "Usage: ExcelCsvConvertor <InputFileName> <OutputFileName> <OutputFormat>" & vbNewline
                      WScript.Echo "Example: ExcelCsvConvertor input.xlsx output.csv csv"
                      Wscript.Quit
                  End If
                  
                  InputFileName = Wscript.Arguments.Item(0)
                  OutputFileName = WScript.Arguments.Item(1)
                  OutputFormat = lcase(WScript.Arguments.Item(2))
                   
                  Select Case OutputFormat
                  Case "csv"
                      XlFileFormatValue = 62
                  Case "xlsx"
                      XlFileFormatValue = 51
                  Case Else
                      Wscript.Echo "Unsupported output format specified: " & OutputFormat
                      Wscript.Quit
                  End select
                  
                  
                  With CreateObject("Excel.Application")
                      With .Workbooks.Open(InputFileName)
                          .SaveAs OutputFileName, XlFileFormatValue
                          .Close False
                      End With
                      .Quit
                  End With
                  

                  קובץ להתקנה והסרה קלה מתפריט ההקשר (לחצן ימני):

                  @echo off
                  
                  set convertor_path=%~dp0ExcelCsvConvertor.cmd
                  cls
                  echo ==========================================================================
                  echo ExcelCsvConvertor: Context menu setup
                  echo ==========================================================================
                  echo.
                  echo [1] Install   : Adds "Convert to CSV/Excel" options to context menu
                  echo [2] Uninstall : Removes "Convert to CSV/Excel" options from context menu
                  echo [Q] Quit
                  echo.
                  choice /C 12Q /T 1000 /D Q /N /M "Please select an option: "
                  
                  IF [%errorlevel%]==[1] GOTO Install
                  IF [%errorlevel%]==[2] GOTO Uninstall
                  exit /b
                  
                  :Install
                  echo Installing...
                  REG ADD HKEY_CLASSES_ROOT\SystemFileAssociations\.xlsx\shell\ConvertToCSV /f /d "Convert to CSV..."
                  REG ADD HKEY_CLASSES_ROOT\SystemFileAssociations\.xlsx\shell\ConvertToCSV\command /f /d "\"%convertor_path%\" \"%%1\" csv"
                  REG ADD HKEY_CLASSES_ROOT\SystemFileAssociations\.csv\shell\ConvertToExcel /f /d "Convert to Excel..."
                  REG ADD HKEY_CLASSES_ROOT\SystemFileAssociations\.csv\shell\ConvertToExcel\command /f /d "\"%convertor_path%\" \"%%1\" xlsx"
                  goto Done
                  
                  :Uninstall
                  echo Uninstalling...
                  REG DELETE HKEY_CLASSES_ROOT\SystemFileAssociations\.xlsx\shell\ConvertToCSV /f
                  REG DELETE HKEY_CLASSES_ROOT\SystemFileAssociations\.csv\shell\ConvertToExcel /f
                  goto Done
                  
                  :Done
                  echo Done!
                  pause
                  

                  הערות:

                  1. את ההתקנה יש להפעיל עם הרשאות מנהל
                  2. מיקום הסקריפטים מוטמע ברישום בזמן ההתקנה.
                    אם משנים את מיקום הסקריפטים לאחר ההתקנה, נדרש להפעיל את ההתקנה שוב.

                  והנה כל החבילה להורדה: (הערה: עיין בהמשך האשכול לגרסה משופרת 0.2)
                  ExcelCsvConvertor.cmd
                  ExcelCsvConvertorScript.vbs
                  Setup (run as Administrator).cmd

                  תגובה 1 תגובה אחרונה
                  8
                  • WheneverW מנותק
                    WheneverW מנותק
                    Whenever
                    כתב ב נערך לאחרונה על ידי Whenever
                    #9

                    אלוף!

                    למה זה לא עובד לי בלי ההתקנות?
                    עשיתי קובץ VBS עם הקוד שלך וקראתי לו ExcelCsvConvertorScript.vbs
                    עשיתי קובץ BAT עם הקוד שלך וקראתי לו excel-to-csv
                    שמתי בתיקייה XLXS וגם CVA
                    ניסיתי להפעיל את הBAT כרגיל וגם כמנהל וכלום.
                    כשהפעלתי כמנהל נפתח לרגע החלון של ה CMD אבל בתיקייה לא קרה כלום.

                    האם זה חייב התקנה?

                    תודה רבה על ההשקעה!

                    dovidD תגובה 1 תגובה אחרונה
                    1
                    • dovidD מנותק
                      dovidD מנותק
                      dovid ניהול
                      כתב ב נערך לאחרונה על ידי
                      #10

                      @OdedDvir תודה! למה צריך את הbat?

                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                      OdedDvirO תגובה 1 תגובה אחרונה
                      0
                      • OdedDvirO מנותק
                        OdedDvirO מנותק
                        OdedDvir
                        כתב ב נערך לאחרונה על ידי
                        #11

                        @Whenever שמות הקבצים המקוריים של @mekev שונו על ידי. אם אתה רוצה לשנות אותם למשהו אחר, אתה צריך להחליף את כל המופעים שבהם מופיע השם הנוכחי.
                        לדוגמא, בקובץ הראשון לעיל בשורה 10 מופיע שם קובץ הסקריפט:

                        cscript /nologo "%~dp0ExcelCsvConvertorScript.vbs" "%~dpnx1" "%~dpn1.%2" %2
                        
                        תגובה 1 תגובה אחרונה
                        1
                        • dovidD מנותק
                          dovidD מנותק
                          dovid ניהול
                          השיב לWhenever ב נערך לאחרונה על ידי dovid
                          #12

                          @Whenever כמדומני שזה לא ממיר את הקבצים בתיקיה אלא את הקובץ שנשלח כפרמטר,
                          ולכן זה עובד בקליק ימני (בלי שלח אל) על הקובץ
                          ולכן נדרש התקנה.
                          היה אפשר שזה לא יצטרך מנהל אבל טריחא ליה מילתא לעשות שני גירסאות כנראה.
                          שאפו.

                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                          תגובה 1 תגובה אחרונה
                          0
                          • OdedDvirO מנותק
                            OdedDvirO מנותק
                            OdedDvir
                            השיב לdovid ב נערך לאחרונה על ידי
                            #13

                            @dovid

                            @dovid כתב בחיפוש תוכנה: המרת קובץ אקסל (xlsx) לcsv:

                            @OdedDvir תודה! למה צריך את הbat?

                            אני מניח שכוונתך לראשון.
                            אתה צודק, האמת היא שאפשר לוותר עליו, ולקרוא ישר לסקריפט מתוך הרישום.
                            פשוט נצטרך לבצע את שינוי הסיומת של קובץ הפלט גם בסקריפט.
                            נחכה לשדרוג לגרסה 0.2 🙂

                            M OdedDvirO 2 תגובות תגובה אחרונה
                            2
                            • M מנותק
                              M מנותק
                              mekev
                              השיב לOdedDvir ב נערך לאחרונה על ידי mekev
                              #14

                              @OdedDvir מ-ד-ה-י-ם

                              תוספת קטנה לקוד
                              (בקוד שהבאת, במידה ויש יותר מגליון אחד בקובץ xlsx, מומר הגליון הפעיל בלבד [לא הראשון])

                              בקוד הזה במידה ויש יותר מגליון אחד
                              נוצר קובץ CSV עבור כל גליון

                              excelcsvconvertor.cmd

                              @echo off
                              if /i "%~2"=="csv" goto TryConvert
                              if /i "%~2"=="xlsx" goto TryConvert
                               
                              echo Unsupported output format specified: %2
                              exit /b
                               
                              :TryConvert
                              echo Converting file %1 to %2 format, please wait...
                              cscript /nologo "%~dp0ExcelCsvConvertorScript.vbs" "%~dpnx1" "%~n1" %2
                              echo Done!
                              
                              

                              excelcsvconvertorscript.vbs

                              If WScript.Arguments.Count <> 3 Then
                                  WScript.Echo "Error: invalid number of arguments specified." & vbNewline
                                  WScript.Echo "Usage: ExcelCsvConvertor <InputFileName> <OutputFileName> <OutputFormat>" & vbNewline
                                  WScript.Echo "Example: ExcelCsvConvertor input.xlsx output.csv csv"
                                  WScript.Quit
                              End If
                               
                              InputFileName = WScript.Arguments.Item(0)
                              OutputFileName = WScript.Arguments.Item(1)
                              OutputFormat = LCase(WScript.Arguments.Item(2))
                              
                              OutputFolder = Left(InputFileName, InStrRev(InputFileName, "\"))
                              
                              Select Case OutputFormat
                                  Case "csv"
                                      XlFileFormatValue = 6
                                      OutputFileExtension = ".csv"
                                  Case "xlsx"
                                      XlFileFormatValue = 51
                                      OutputFileExtension = ".xlsx"
                                  Case Else
                                      WScript.Echo "Unsupported output format specified: " & OutputFormat
                                      WScript.Quit
                              End Select
                              
                              Set objExcel = CreateObject("Excel.Application")
                              Set objWorkbook = objExcel.Workbooks.Open(InputFileName)
                               
                              For Each objWorksheet In objWorkbook.Worksheets
                                  objWorksheet.SaveAs OutputFolder & OutputFileName & "_" & Replace(objWorksheet.Name, " ", "") & OutputFileExtension, XlFileFormatValue
                              Next
                               
                              objWorkbook.Close False
                              objExcel.Quit
                              
                              

                              הערה: נערך ע"י בינה מלאכותית, אבל נבדק ועובד תקין

                              תגובה 1 תגובה אחרונה
                              4
                              • OdedDvirO מנותק
                                OdedDvirO מנותק
                                OdedDvir
                                השיב לOdedDvir ב נערך לאחרונה על ידי OdedDvir
                                #15

                                @OdedDvir כתב בחיפוש תוכנה: המרת קובץ אקסל (xlsx) לcsv:

                                נחכה לשדרוג לגרסה 0.2 🙂

                                הנה גרסה 0.2 שדורשת רק שני קבצים (קרדיט ל-@dovid על ההערה)

                                סקריפט vb

                                if WScript.Arguments.Count <> 2 Then
                                    Wscript.Echo "Error: invalid number of arguments specified." & vbNewline
                                    WScript.Echo "Usage: ExcelCsvConvertor <InputFileName> <OutputFormat>" & vbNewline
                                    WScript.Echo "Example: ExcelCsvConvertor input.xlsx csv"
                                    Wscript.Quit
                                End If
                                
                                
                                InputFileName = Wscript.Arguments.Item(0)
                                OutputFormat = lcase(WScript.Arguments.Item(1))
                                
                                Select Case OutputFormat
                                Case "csv"
                                    XlFileFormatValue = 62
                                Case "xlsx"
                                    XlFileFormatValue = 51
                                Case Else
                                    Wscript.Echo "Unsupported output format specified: " & OutputFormat
                                    Wscript.Quit
                                End select
                                
                                With CreateObject("Scripting.FileSystemObject")
                                    OutputFileName = .GetBaseName(InputFileName) & "." & OutputFormat
                                    InputFileName = .GetAbsolutePathName(InputFileName)
                                    OutputFileName = .GetParentFolderName(InputFileName) & "\" & OutputFileName
                                End With
                                
                                WScript.Echo "Converting: " & InputFileName & " to " & OutputFormat & ": " & OutputFileName
                                
                                With CreateObject("Excel.Application")
                                    With .Workbooks.Open(InputFileName)
                                        .SaveAs OutputFileName, XlFileFormatValue
                                        .Close False
                                    End With
                                    .Quit
                                End With
                                

                                קובץ התקנה

                                @echo off
                                
                                set convertor_path=%~dp0ExcelCsvConvertor.vbs
                                cls
                                echo ==========================================================================
                                echo ExcelCsvConvertor: Context menu setup
                                echo ==========================================================================
                                echo.
                                echo [1] Install   : Adds "Convert to CSV/Excel" options to context menu
                                echo [2] Uninstall : Removes "Convert to CSV/Excel" options from context menu
                                echo [Q] Quit
                                echo.
                                choice /C 12Q /T 1000 /D Q /N /M "Please select an option: "
                                
                                IF [%errorlevel%]==[1] GOTO Install
                                IF [%errorlevel%]==[2] GOTO Uninstall
                                exit /b
                                
                                :Install
                                echo Installing...
                                REG ADD HKEY_CLASSES_ROOT\SystemFileAssociations\.xlsx\shell\ConvertToCSV /f /d "Convert to CSV..."
                                REG ADD HKEY_CLASSES_ROOT\SystemFileAssociations\.xlsx\shell\ConvertToCSV\command /f /d "cscript /nologo \"%convertor_path%\" \"%%1\" csv"
                                REG ADD HKEY_CLASSES_ROOT\SystemFileAssociations\.csv\shell\ConvertToExcel /f /d "Convert to Excel..."
                                REG ADD HKEY_CLASSES_ROOT\SystemFileAssociations\.csv\shell\ConvertToExcel\command /f /d "cscript /nologo \"%convertor_path%\" \"%%1\" xlsx"
                                goto Done
                                
                                :Uninstall
                                echo Uninstalling...
                                REG DELETE HKEY_CLASSES_ROOT\SystemFileAssociations\.xlsx\shell\ConvertToCSV /f
                                REG DELETE HKEY_CLASSES_ROOT\SystemFileAssociations\.csv\shell\ConvertToExcel /f
                                goto Done
                                
                                :Done
                                echo Done!
                                pause
                                

                                כל החבילה v0.2:
                                ExcelCsvConvertor.vbs
                                Setup (run as Administrator).cmd

                                @mekev הזריז הקדים אותי, אבל אני משאיר לו לשדרג את הפיצ'ר שלו לגרסה 0.3

                                תגובה 1 תגובה אחרונה
                                7

                                בא תתחבר לדף היומי!
                                • התחברות

                                • אין לך חשבון עדיין? הרשמה

                                • התחברו או הירשמו כדי לחפש.
                                • פוסט ראשון
                                  פוסט אחרון
                                0
                                • דף הבית
                                • קטגוריות
                                • פוסטים אחרונים
                                • משתמשים
                                • חיפוש
                                • חוקי הפורום