본문 바로가기
컴퓨터/소프트웨어

엑셀 파일을 csv로 변환하는 프로그램

by 신규하 2015. 10. 8.



회사에서 엑셀 파일을 csv로 변경하는 프로그램이 필요 하다고 해서,

간단하게 제작한 csv 변환 프로그램을 공유 합니다.


command line용 툴이며, 실행 하면 하위 폴더에 엑셀 파일까지 홀랑 csv로 변환해 줍니다.


변환 가능한 포맷은 xls와 xlsx입니다. 그리고 csv는 utf-8로 인코딩 되어서 나옵니다.




xlsxToCsv.exe




추가로 특정 파일만 변환 하고 싶으면,


xlsxToCsv.exe [원본엑셀파일] [대상csv파일]


이렇게 사용 하시면 됩니다.


응용해서 특정 파일들만 모음으로 변환하고 싶다면,

변환 파일을 모아서 .bat 파일로 만들어서 변환해서 파일을 복사 하게 하면 됩니다.


소스는 github에 공유 합니다.

https://github.com/gyuha/xlsxtocsv


댓글12

  • ㅁㅁ 2016.11.24 11:07

    감사합니다. ^^

    답글

  • 감사합니다 2019.02.06 00:59

    이런 프로그램을 한참 찾았어요 보통 온라인 컨버터는 수상한 이용약관 껴넣고 한번에 변환 가능한 파일 개수도 제한해서 불편했는데... 감사합니다!!
    답글

  • 박재성 2019.02.10 22:40

    감사합니다. 마침 찾느라 구글링 했는데 딱 나오네요^^
    답글

  • 조진희 2019.08.10 10:22

    감사합니다. 혹시 맨 마지막 컬럼에 콤마(,)가 생성이 되는데요..

    엑셀에서 저장 시 마지막 열은 뒤에 콤마(,)없거든요.. 이에 대해 유무를 선택할 수있는 옵션은 없는것인가요^^?:: 꽁짜로 쓰면서 너무 많은걸 바래서 죄송합니다. ㅠㅠ
    답글

  • foranie 2020.01.28 21:21

    이거참...코드말고 excel.dll에 문제있나봐요 ㅠㅠ;
    CreateOpenXmlReader의 workbook은 4가 나오는데(xlsx의 시트가 4장)
    AsDataSet()으로 변경하면 result의 tables는 3이 되고
    시트1에는 200여줄, 시트4에는 80줄이 있는데
    시트1의 이름으로 시트4의 80줄을 출력합니다.
    더미데이터라 수식도 없는데 난감하네요...

    답글

    • 신규하 2020.01.28 21:58 신고

      제가 기억하기로는 엑셀에서 1번 시트만 읽어서 csv로 변환하는 프로그램이였는데.. 소스를 다른 용도로 사용하시나 보네요..
      혹시 시트의 이름이 한글로 되어 있거나 중복되어 있는지 체크해 보시는게 어떨까 싶습니다.
      그리고, 아래 사이트를 참고 해 보셔도 도움이 될 것 같습니다.
      http://csharp.net-informations.com/excel/csharp-excel-tutorial.htm

      감사합니다.

  • dd 2020.06.18 11:43

    혹시 xlsm 파일도 적용할 수 있을까요?
    ExcelConvert.cs 에서 GetExcelData()에 if (file.EndsWith(".xlsm";)) 을 추가해서 썼봤는데 안읽히더라고요..
    아마 파일 형식이 달라서 그런 것 같은데, 제가 해결할 수 없는 문제라..
    방법을 알려주시면 감사드리겠습니다... ㅠㅠ
    답글

    • 신규하 2020.06.21 02:19

      https://stackoverflow.com/questions/25132183/how-to-work-with-xlsm-via-c-sharp-net
      여기를 한번 참고 해 보세요.

  • JUUN. 2020.08.30 15:53 신고

    감사합니다!
    답글