bestsource

선택한 워크시트를 excel 파일에서 pdf로 파이썬으로 인쇄

bestsource 2023. 8. 7. 22:46
반응형

선택한 워크시트를 excel 파일에서 pdf로 파이썬으로 인쇄

엑셀 파일을 읽기 위해 파이썬 스크립트를 작성하고 각 워크시트를 찾은 다음 엑셀에 정의된 표준 형식으로 PDF로 인쇄해야 합니다.

다음 질문을 찾았습니다. 파이썬에서 엑셀 파일을 여는 방법은 무엇입니까?그것은 나에게 http://www.python-excel.org/ 을 가리켰습니다.

이렇게 하면 각 워크시트의 이름을 찾을 수 있습니다.

import xlrd
book = xlrd.open_workbook("myfile.xls")
print "Worksheet name(s):", book.sheet_names()

이것은 결과적으로

Worksheet name(s): [u'Form 5', u'Form 3', u'988172 Adams Road', u'379562 Adams Road', u'32380 Adams Road', u'676422 Alderman Road', u'819631 Appleyard Road', u'280998 Appleyard Road', u'781656 Atkinson Road', u'949461 Barretts Lagoon Road', u'735284 Bilyana Road', u'674784 Bilyana Road', u'490894 Blackman Road', u'721026 Blackman Road']

이제 숫자로 시작하는 각 워크시트를 pdf로 인쇄하려고 합니다.

내가 할 수 있는.

worksheetList=book.sheet_names()
for worksheet in worksheetList:
 if worksheet.find('Form')!=0: #this just leaves out worksheets with the word 'form' in it
  <function to print to pdf> book.sheet_by_name(worksheet) #what can I use for this?

아니면 위와 비슷한 것...이를 위해 무엇을 사용할 수 있습니까?

XLRD 문서가 혼란스럽습니다.

xlrd 버전 0.6.1에 포함되지 않은 서식 기능: 기타 시트 수준 및 책 수준 항목(예: 인쇄 레이아웃, 화면 창)

그리고.

서식 지정

소개

xlrd 버전 0.6.1에 새로 추가된 이 기능 모음은 (1) 스프레드시트 내용을 화면이나 PDF 파일에 표시/렌더링하는 데 필요한 정보를 제공하기 위한 것입니다.

https://secure.simplistix.co.uk/svn/xlrd/trunk/xlrd/doc/xlrd.html?p=4966 을 참조하십시오.

어느 것이 사실입니까?PDF로 인쇄하는 데 다른 패키지를 사용할 수 있습니까?

unix의 경우 Windows용 http://dag.wieers.com/home-made/unoconv/ 이 있습니까?저는 https://gist.github.com/mprihoda/2891437 을 찾았지만 아직 사용 방법을 알 수 없습니다.

여기가 이 답을 넣는 장소인 것 같습니다.

가장 간단한 형태:

import win32com.client

o = win32com.client.Dispatch("Excel.Application")

o.Visible = False

wb_path = r'c:\user\desktop\sample.xls'

wb = o.Workbooks.Open(wb_path)



ws_index_list = [1,4,5] #say you want to print these sheets

path_to_pdf = r'C:\user\desktop\sample.pdf'



wb.WorkSheets(ws_index_list).Select()

wb.ActiveSheet.ExportAsFixedFormat(0, path_to_pdf)

단일 페이지에 맞게 확장하고 인쇄 영역을 설정하는 작은 형식 지정 마법 포함:

import win32com.client

o = win32com.client.Dispatch("Excel.Application")

o.Visible = False

wb_path = r'c:\user\desktop\sample.xls'

wb = o.Workbooks.Open(wb_path)



ws_index_list = [1,4,5] #say you want to print these sheets

path_to_pdf = r'C:\user\desktop\sample.pdf'

print_area = 'A1:G50'



for index in ws_index_list:

    #off-by-one so the user can start numbering the worksheets at 1

    ws = wb.Worksheets[index - 1]

    ws.PageSetup.Zoom = False

    ws.PageSetup.FitToPagesTall = 1

    ws.PageSetup.FitToPagesWide = 1

    ws.PageSetup.PrintArea = print_area



wb.WorkSheets(ws_index_list).Select()

wb.ActiveSheet.ExportAsFixedFormat(0, path_to_pdf)

만약 당신이 그것을 보고 싶다면 저는 또한 github을 통해 모듈을 시작했습니다: https://github.com/spottedzebra/excel/blob/master/excel_to_pdf.py .

네, Kashyap, 저는 파이썬에서는 기본적으로 불가능하다고 결론 내렸습니다.그래서 저는 대신에 JVM 언어의 영역으로 들어갔습니다.

언급URL : https://stackoverflow.com/questions/16683376/print-chosen-worksheets-in-excel-files-to-pdf-in-python

반응형