1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
| func office_excel2pdf(fileName string, pdfPath string) { ole.CoInitialize(0) defer ole.CoUninitialize() unknown, _ := oleutil.CreateObject("Excel.Application") defer unknown.Release() excel, _ := unknown.QueryInterface(ole.IID_IDispatch) defer excel.Release() oleutil.PutProperty(excel, "Visible", false) workbooks := oleutil.MustGetProperty(excel, "Workbooks").ToIDispatch() defer workbooks.Release() workbook := oleutil.MustCallMethod(workbooks, "Open", fileName).ToIDispatch() defer workbook.Release() worksheet := oleutil.MustGetProperty(workbook, "Worksheets", 1).ToIDispatch() defer worksheet.Release() ps := oleutil.MustGetProperty(worksheet, "PageSetup").ToIDispatch() defer ps.Release() oleutil.PutProperty(ps, "LeftHeader", "") oleutil.PutProperty(ps, "CenterHeader", "") oleutil.PutProperty(ps, "RightHeader", "") oleutil.PutProperty(ps, "LeftFooter", "") oleutil.PutProperty(ps, "CenterFooter", "") oleutil.PutProperty(ps, "RightFooter", "") oleutil.PutProperty(ps, "LeftMargin", 0) oleutil.PutProperty(ps, "RightMargin", 0) oleutil.PutProperty(ps, "TopMargin", 0) oleutil.PutProperty(ps, "BottomMargin", 0) oleutil.PutProperty(ps, "HeaderMargin", 0) oleutil.PutProperty(ps, "FooterMargin", 0) oleutil.PutProperty(ps, "Orientation", 2) oleutil.PutProperty(ps, "Zoom", false) oleutil.PutProperty(ps, "FitToPagesWide", 1) oleutil.PutProperty(ps, "FitToPagesTall", false) oleutil.PutProperty(ps, "CenterVertically", true) oleutil.PutProperty(ps, "CenterHorizontally", true) oleutil.PutProperty(ps, "Draft", false) oleutil.PutProperty(ps, "FirstPageNumber", true) oleutil.MustCallMethod(worksheet, "ExportAsFixedFormat", 0, pdfPath).ToIDispatch() oleutil.CallMethod(workbook, "Close") oleutil.CallMethod(excel, "Quit") println("success") }
func wps_excel2pdf(fileName string, pdfPath string) { ole.CoInitialize(0) defer ole.CoUninitialize() unknown, _ := oleutil.CreateObject("KET.Application") defer unknown.Release() excel, _ := unknown.QueryInterface(ole.IID_IDispatch) defer excel.Release() oleutil.PutProperty(excel, "Visible", false) workbooks := oleutil.MustGetProperty(excel, "Workbooks").ToIDispatch() defer workbooks.Release() workbook := oleutil.MustCallMethod(workbooks, "Open", fileName).ToIDispatch() defer workbook.Release() worksheet := oleutil.MustGetProperty(workbook, "Worksheets", 1).ToIDispatch() defer worksheet.Release() ps := oleutil.MustGetProperty(worksheet, "PageSetup").ToIDispatch() defer ps.Release() oleutil.PutProperty(ps, "LeftHeader", "") oleutil.PutProperty(ps, "CenterHeader", "") oleutil.PutProperty(ps, "RightHeader", "") oleutil.PutProperty(ps, "LeftFooter", "") oleutil.PutProperty(ps, "CenterFooter", "") oleutil.PutProperty(ps, "RightFooter", "") oleutil.PutProperty(ps, "LeftMargin", 0) oleutil.PutProperty(ps, "RightMargin", 0) oleutil.PutProperty(ps, "TopMargin", 0) oleutil.PutProperty(ps, "BottomMargin", 0) oleutil.PutProperty(ps, "HeaderMargin", 0) oleutil.PutProperty(ps, "FooterMargin", 0) oleutil.PutProperty(ps, "Orientation", 2) oleutil.PutProperty(ps, "Zoom", false) oleutil.PutProperty(ps, "FitToPagesWide", 1) oleutil.PutProperty(ps, "FitToPagesTall", false) oleutil.PutProperty(ps, "CenterVertically", true) oleutil.PutProperty(ps, "CenterHorizontally", true) oleutil.PutProperty(ps, "Draft", false) oleutil.PutProperty(ps, "FirstPageNumber", true) oleutil.MustCallMethod(worksheet, "ExportAsFixedFormat", 0, pdfPath).ToIDispatch() oleutil.CallMethod(workbook, "Close") oleutil.CallMethod(excel, "Quit") println("success") }
|