DB로더 사용하려면, 엑셀을 csv로 변환해야하는데, 그냥 대량 변환하는 프로그램들을 사용하면,
한글이 깨지더라 그래서 UTF-8로 변환해야하는데....
이걸 일일히 열어서 노가다고 csv(쉼표로구분, utf-8)로 저장하다가....
결국 이것저것 방법을 찾다가 Excel VBA에서 할때 포멧을 바꿔서 하는 방법을 찾음..
1. Excel를 켜고, ALT+ F11 를 누르면, Microsoft Visual Basic 창이 뜸.
2. 메뉴에서 삽입(I) -> 모듈(M)
3. 아래 코드 복사 해서 붙여 넣기
| Sub WorkbooksSaveAsCsvToFolder() 'UpdatebyExtendoffice20181031 Dim xObjWB As Workbook Dim xObjWS As Worksheet Dim xStrEFPath As String Dim xStrEFFile As String Dim xObjFD As FileDialog Dim xObjSFD As FileDialog Dim xStrSPath As String Dim xStrCSVFName As String Dim xS As String Application.ScreenUpdating = False Application.EnableEvents = False Application.Calculation = xlCalculationManual Application.DisplayAlerts = False On Error Resume Next Set xObjFD = Application.FileDialog(msoFileDialogFolderPicker) xObjFD.AllowMultiSelect = False xObjFD.Title = "Kutools for Excel - Select a folder which contains Excel files" If xObjFD.Show <> -1 Then Exit Sub xStrEFPath = xObjFD.SelectedItems(1) & "\" Set xObjSFD = Application.FileDialog(msoFileDialogFolderPicker) xObjSFD.AllowMultiSelect = False xObjSFD.Title = "Kutools for Excel - Select a folder to locate CSV files" If xObjSFD.Show <> -1 Then Exit Sub xStrSPath = xObjSFD.SelectedItems(1) & "\" xStrEFFile = Dir(xStrEFPath & "*.xls*") Do While xStrEFFile <> "" xS = xStrEFPath & xStrEFFile Set xObjWB = Application.Workbooks.Open(xS) xStrCSVFName = xStrSPath & Left(xStrEFFile, InStr(1, xStrEFFile, ".") - 1) & ".csv" xObjWB.SaveAs Filename:=xStrCSVFName, FileFormat:=xlCSVUTF8 xObjWB.Close savechanges:=False xStrEFFile = Dir Loop Application.Calculation = xlCalculationAutomatic Application.EnableEvents = True Application.ScreenUpdating = True Application.DisplayAlerts = True 'MsgBox "파일생성완료" End Sub |
4. F5 키 또는 실행 버튼 누르기 -> 첫번째 팝업창은 Excel파일이 있는 폴더를 선택
5. "확인" 누르고, 두번째 팝업창은 CSV 파일을 저장할 폴더 선택
6. "확인" 누르면 멈춘거 같은데..폴더를 보면 계속 바꾸면서 작업을 하고 있음.
그래서 작업 끝나면 알림창 보이게 하려고
마지막 MsgBox 파일생성 완료는 막아 놓았는데, 필요하면, 코멘트 지우고 쓰시길..
대부분 인터넷에 보면, excel to CSV 프로그램은 많은데, (UTF-8 쉼표구분) 옵션을 어떻게 하는지 없는데...
코드 중에 파일포멧을 아래처럼 해주면, UTF-8로 저장된다.
FileFormat:=xlCSVUTF8
아.....저번에 UTF-8저장되는 파일이 없어서..찾다가..결국 매일매일 노가다했는데..
하...좀만 더 연구해볼껄....이제야 후회되네...
머리가 나쁘면 손발이 고생이긴 하지.....ㅠㅠ
사람이 한번 안된는걸로 인식되니까....나중에 다시 고쳐볼 생각을 안하고....
계속 탄성적으로 하던대로 하는거 같다.
그래도 이번 계기로 하나 만들어 놓았으니...됬다.
참고 블로그
이분 블로그는 코드 복사를 막아 놓아서....ㅠㅠ
https://ko.extendoffice.com/documents/excel/5537-excel-batch-convert-to-csv.html
'컴퓨터 > Oracle' 카테고리의 다른 글
| 오라클 DB로더 사용법 (txt,csv파일 오라클DB 대량 업로드) (1) | 2024.04.04 |
|---|---|
| 오라클 로더사용시 null값 넣기(null 에러) (0) | 2021.12.02 |
| 로더로 대용량 데이터 DB에 넣기 (0) | 2021.11.01 |
| 여러개 검색기능 만들때 DB 쿼리문 (0) | 2021.08.18 |
| ORA-21561 : OID generation failed 오라클 에러 (0) | 2021.07.20 |