2016-08-16 3 views
1

에 저장합니다. MySQL 테이블에서 관련 데이터를 추출하고이 데이터를 Xlsxwriter를 사용하여 Excel에 채우는 방식으로 많은 Excel 파일을 만들 수 있습니다. 생성 된 Excel 파일의 수는 데이터 생성 시점에서 100 초를 초과 할 수 있으며 파일을 전자 메일로 보내기 전에 각 Excel 파일을 PDF로 변환해야합니다.xlsxwriter를 사용하여 Excel 파일을 만들고 Excel 파일을

각 Excel 파일을 수동으로 변환하는 데 몇 분이 걸리지 만 수백 개의 파일을 처리하는 것을 상상해보십시오. com32 또는 comtypes를 사용하지 말고 Xlsxwriter 또는 VBA를 통해 변환 작업을 수행하고 싶습니다. Xlsxwriter에 대한 코드를 작성했지만 어떻게 든 작동하지 않습니다. 누군가 조언 해 주실 수 있습니까? 감사.

VBA_worksheet=current_workbook.add_worksheet() 
current_workbook.add_vba_project('printPDF') 
VBA_worksheet.write_formula('A1', 'ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF') 
VBA_worksheet.activate() 
VBA_worksheet.hide() 

답변

0

제공된 코드는 XlsxWriter에서 VBA 매크로를 실행하려고하는 것처럼 보입니다. 그렇다면 작동하지 않습니다.

VBA 매크로와 함수를 XlsxWriter 파일에 추가 할 수는 있지만 Excel 만 실행할 수 있습니다.

xlsx 파일을 PDF로 변환하려면 Excel을 자동화하거나 할 수있는 타사 응용 프로그램을 찾아야합니다.

+0

JMC에게 감사드립니다. Win32com과 ComTypes를 사용해 보았습니다. 어쨌든 모듈을 작동시키지 못했고 그 이유는 모르겠습니다. 현재 Windows에서 Python을 실행하고 있지만 나중에 OS를 데비안 Jessie로 옮겨야합니다. Win32com과 Comtypes가 작동하지 않는다고 들었습니다. 그래서 조언이 필요합니다. 감사. – Keith

+0

그런 경우 xlsx 파일을 Linux에서 PDF로 변환하는 도구를 찾아야합니다. 나는 그러한 도구를 알지 못한다. 그러나 그것이 도구가 없다는 것을 의미하지는 않는다. – jmcnamara

관련 문제