시트9 Python(파이썬) openpyxl - 엑셀 시트(Work sheet)를 호출하는 방법 엑셀 VBA에서는 시트를 호출하기 위해서 sheets('시트명') 또는 sheets(index) 형식으로 사용하면 됩니다. 하지만, openpyxl 을 사용하면 방법이 달라집니다. 원래 VBA 매크로를 사용하시는 분이면 조금 헷갈릴 수가 있겠네요. 기존에 만든 엑셀파일을 로드하고 모든 시트명을 프린트 해 보겠습니다. 만약 시트이름을 하나만 부르고 싶을때는 어떻게 해야 할까요? 이렇게 사용하면 됩니다. 인덱스를 사용해서 호출하는 방법은 아래와 같습니다. 이건 단순히 sheet name을 불러오는 방법이라 셀에 접근해서 특정 작업을 하려면 에러가 뜹니다. VBA에 익숙한 터라 제 개인적으로는 상당히 헷갈렸습니다. 요론 식으로 쓰면 인덱스를 사용해서 엑셀 시트를 활용할 수 있습니다. 이제 반복문을 사용해서 여.. 2021. 5. 1. python(파이썬) openpyxl - 엑셀 시트 추가, 삭제 방법 파이썬 openpyxl 을 이용하여 시트를 추가하는 방법입니다. 포스트를 시작하기 전에 파이썬으로 엑셀 VBA 매크로를 실행하는 방법이 있다는 사실을 알고 계신가요? 파이썬으로 쉽게 엑셀 매크로를 사용하는 방법은 아래 포스트를 참고하세요. https://dotsnlines.tistory.com/712 파이썬으로 엑셀 VBA 매크로를 작동 시키는 방법(Calling Excel VBA Macro script by using Python script)지난번 포스트에 이어서 파이썬을 통해 엑셀 VBA 매크로를 작동하는 방법에 대해서 포스트 해 보겠습니다. 시작하기 앞서 addin install 과 약간의 설정이 필요한데 이 부분은 아래 포스틀 참고하시dotsnlines.tistory.com 미리 만든 엑셀.. 2021. 4. 30. Python openpyxl - 파일생성, 시트명 바꾸기, 탭색 변경 openpyxl 라이브러리를 이용하여 엑셀파일을 만들어서 저장해 보도록 하겠습니다. 전체 코드는 아래와 같습니다. 1 2 3 4 5 6 7 from openpyxl import Workbook wb = Workbook() ws = wb.active ws.title = 'test_sheet' wb.save('sample.xlsx') wb.close() cs openpyxl 모듈에서 Workbook을 불러오고, Workbook() 은 wb 변수에 저장합니다. ws는 활성화 된 시트를 담을 변수입니다. 시트의 이름은 ws.title='OOO'으로 변경합니다. 현 파일 위치에 만들어진 엑셀파일을 'sample.xlsx'라는 이름으로 저장하고, 워크북을 닫아 줍니다. 실행해 보면 아래와 같이 엑셀파일이 만들어 진.. 2021. 3. 17. 엑셀 - 카메라 기능(Table 캡쳐, 참조) 혹시 엑셀에서 카메라 기능을 아시나요? 엑셀은 행과 열로 구성된 셀로 이루어져 있습니다. 그래서 여러 Table(표)를 한 Sheet에 표현하기에 한계가 있습니다. 이럴때 마치 캡쳐 하듯이 다른 Table을 참조해서 그림처럼 나타내는 방법이 있습니다. 바로, 카메라 기능을 이용하는 것입니다. 카메라 기능을 이용하기 위해서 우선 '카메라 버튼'을 '빠른 실행 도구 모음'에 표시해 보겠습니다. 엑셀의 상단 왼쪽 메뉴에서 '파일'을 클릭합니다. 왼쪽 메뉴 중 맨 아래에 '옵션'을 클릭합니다. 'Excel 옵션'에서 '빠른 실행 도구 모음'을 클릭하고, '리본 메뉴에 없는 명령'을 선택한 후 '카메라'를 클릭하여 추가 합니다. 확인 버튼을 눌러서 'Excel 옵션' 창을 닫아 줍니다. 엑셀 메뉴 상단에 카메라 .. 2021. 3. 11. 엑셀 VBA(매크로) - 워크시트(Work Sheet) 삽입하기 VBA를 이용해서 워크시트를 삽입하는 프로그램을 작성해 보도록 하겠습니다. Worksheet를 삽입하기 위해서는 아래의 코드를 이용하면 됩니다. Worksheets.Add After:=Worksheets(Worksheets.Count) 예제를 한번 다뤄보도록 하겠습니다. 개발도구 메뉴에서 Visual Basic 메뉴로 들어갑니다. VBA 창에서 '삽입' 메뉴에서 '모듈(M)'을 눌러서 모듈을 추가합니다. 우선 'Sub'를 생성한 다음에 변수명을 정의해 줍니다. Inputbox를 만들어서 'NewSheetName'이라는 변수에 입력값을 저장 받도록 합니다. InputBox에 아무것도 적지 않으면, 실행이 되지 않도록 합니다. sheetnum를 '-1'로 지정하면, 뒤에 If 문에서는 실행이 되지 않도록 설.. 2021. 1. 28. openpyxl - 엑셀파일의 데이터 가져오기 이번 포스트는 openpyxl 모듈을 사용하여 이미 만들어진 엑셀파일의 데이터를 가져오도록 하겠습니다. 제가 엑셀은 VBA가 익숙하다 보니깐 python으로 엑셀을 다루려고 하다보니 많이 헷갈리네요.. 우선 필요한 모듈을 불러옵니다. 'openpyxl' 중에서 엑셀파일을 불러 오기 위해서는 'load_workbook' 모듈이 필요합니다. 엑셀파일의 경로를 지정해주고 'wb'라는 변수에 입력합니다. 그리고 엑셀파일에서 활성화 된 시트를 'ws'라는 변수에 입력합니다. 엑셀시트에 임의로 글자를 입력해서 저장합니다. 이 글자를 파이썬으로 불러오도록 하겠습니다. '시트['셀위치']].value' 형식으로 쓰면 해당셀의 값이 불러와집니다. 셀 값을 불러오는 다른 방법도 있습니다. '시트.cell(row=행번호, .. 2020. 12. 19. openpyxl - 파이썬으로 엑셀파일 만들기 파이썬으로 엑셀을 다뤄 보겠습니다. 어떤 모듈을 써야하나 검색했는데 'openpyxl'이라는 모듈이 괜찮다고 하더라구요. 단, 이 모듈은 'xls' 즉 2003이하 버전의 엑셀은 호환이 안 된다네요. 우선 모듈을 불러 오겠습니다. import openpyxl 이렇게 적으셔도 되고, 'from openpyxl import Workbook' 이라고 적으셔도 됩니다. wb = openpyxl.Workbook() 엑셀 워크북을 생성해서 'wb'라는 변수에 저장합니다. ws = wb.active 활성화 된 시트를 'ws'라는 변수에 저장합니다. ws['A1'] = 'test' 'A1' 의 셀에 'test'라고 적어보겠습니다. wb.save(r'C:\Users\passi\Desktop\Test.xlsx') 그리고 .. 2020. 12. 8. 엑셀 VBA(매크로) - 시트 추가, 복사, 삭제, 이름변경 엑셀 VBA를 통해서 시트를 추가, 삭제, 복사, 이름변경 하는 방법입니다. 1. 시트 추가 sub sbTest() sheets.Add End Sub 2. 시트삭제 sub sbTest() sheets("시트이름").Delete End Sub 3. 시트 이름변경 sub sbTest() sheets("시트이름").Name = "이름변경 시트" End Sub 4. 시트 복사 sub sbTest() sheets("시트이름").Copy before:=Sheets("다른시트") '다른시트 앞에 복사 End Sub 5. 다른 통합문서에 복사 sub sbTest() sheets("시트이름").Copy End Sub 2020. 11. 25. 엑셀 - 다른 파일에서 시트 가져오기 https://cafe.naver.com/111coding/44?tc=shared_link 파이썬을 10분만에 배우는 방법프로그램밍 언어를 공부하는 것은 외국어를 배우는 것과 상당히 흡사합니다. 우리는 대체로 초등학교 3년, 중학교 3년, 고등학교 3년 최소 9년은 영어를 배웁니다. 하지만,...cafe.naver.com 다른 파일에서 시트를 가져오는 방법을 포스트 하겠습니다. '현재파일'과 '복사할 파일'을 만들고, 두 파일을 모두 열겠습니다.현재파일에는 시트("현재파일" 시트)가 하나밖에 없습니다. 다른 파일에 있는 시트를 가져와서 여기에 복사/이동 해 보겠습니다. 복사할 파일을 여시고 "복사할 시트"라는 이름의 Sheet에 마우스 오른쪽 클릭을 합니다. 나타나는 메뉴에서 "이동/복사(M)..." 을.. 2020. 11. 24. 이전 1 다음