2024年6月6日 星期四

讀取EXCEL檔案計算後儲存到PDF檔

 範例:計算總交易量、總平均價、以及名字

 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
from openpyxl import load_workbook
import win32com.client as win32
import os

# 載入現有的 Workbook
wb = load_workbook('AquaticTransData.xlsx')
ws = wb.active

# 計算總交易量和總交易額
TotalTradingVolume = 0  # 總交易量
TotalTransactionVolume = 0  # 總交易額
row = 2
while (ws['E' + str(row)].value != None):
    TotalTradingVolume += ws['E' + str(row)].value
    TotalTransactionVolume += ws['E' + str(row)].value * ws['F' + str(row)].value
    row+=1
ws['D'+str(row)] = '總交易量'
ws['D'+str(row+1)] = '總平均價'
ws['E'+str(row)] = TotalTradingVolume
ws['E'+str(row+1)] = TotalTransactionVolume / TotalTradingVolume
ws['E'+str(row+2)] = '王甲乙'

# 儲存到 Excel 檔案
wb.save('AquaticTransData.xlsx')
print("資料已儲存到 AquaticTransData.xlsx")

# 使用 win32com 將 Excel 轉換為 PDF
excel = win32.Dispatch('Excel.Application')
excel.Visible = False

# 打開 Excel 文件
workbook = excel.Workbooks.Open(os.getcwd()+'/'+'AquaticTransData.xlsx')

# 獲取第一個工作表
sheet = workbook.Sheets(1)

# 設置列印網格線
sheet.PageSetup.PrintGridlines = True

# 將工作表轉換為 PDF
pdf_path = os.getcwd()+'/'+'AquaticTransData.pdf'
workbook.ExportAsFixedFormat(0, pdf_path)

# 關閉 Excel 應用
workbook.Close(False)
excel.Quit()

print("PDF 檔案已儲存為 AquaticTransData.pdf")

執行結果:
資料已儲存到 AquaticTransData.xlsx
PDF 檔案已儲存為 AquaticTransData.pdf




沒有留言:

張貼留言