首先将你要寫入的資料檔案内容存放在Excel中,下面以三國戰将戰力為案例
#實作python生成Excel内容
import openpyxl #導入excel常用庫
#寫入Excel表格
def write_excel_xlsx(path, sheet_name, value):
index = len(value) #傳入的清單或者字典長度,也就是Excel的列
workbook = openpyxl.Workbook() #建立 xls 檔案對象
sheet = workbook.active
sheet.title = sheet_name #表單名稱
for i in range(0, index):
for j in range(0, len(value[i])):
#引用單元格
sheet.cell(row=i + 1, column=j + 1, value=str(value[i][j]))
workbook.save(path) #将傳入的資料儲存
print("xlsx格式表格寫入資料成功!")
#讀取并建立Excel檔案名和表單名稱
def read_excel_xlsx(path, sheet_name):
workbook = openpyxl.load_workbook(path)
# sheet = wb.get_sheet_by_name(sheet_name)這種方式已經棄用,不建議使用
sheet = workbook[sheet_name]
for row in sheet.rows:
for cell in row:#取出每個單元的行
print(cell.value, "\t", end="")
print() #輸出Excel儲存的結果或者不輸出也行
# 新增兩個清單前處理的字典
dict1={"戰将姓名": "戰将戰力",
"呂布": 100,
"張飛": 98,
"馬超": 97,
"關羽": 97,
"許褚": 96,
"趙雲": 96,
"典韋": 95,
"文醜": 94,
"甘甯": 94,
"龐德": 94,
"太史慈": 94,
"黃忠": 93,
"顔良": 93,
"孫策": 93,
"張遼": 93,
"魏延": 92,
"華雄": 92,
"文鴛": 92,
"周泰": 91,
"夏侯淵,": 91,
"孫堅": 90,
"徐晃": 90,
"夏侯敦": 90,
"曹彰": 89,
"姜維": 89,
"張颌": 89,
"淩統": 89,
"呂玲绮": 88,
"馬雲隸": 88,
"關索": 88}
dictlist=[]
for keys, value in dict1.items():
temp = [keys,value]
dictlist.append(temp)
#傳入需要保持的檔案名參數
book_name_xlsx = 'xlsx格式三國戰力.xlsx'
#指定的Excel的表單名(就是我們在Excel常見的左下角表單名)
sheet_name_xlsx = 'xlsx格式三國戰力測試表'
write_excel_xlsx(book_name_xlsx, sheet_name_xlsx, dictlist)
read_excel_xlsx(book_name_xlsx, sheet_name_xlsx)
執行結果:

image.png
打開後的内容為:

image.png
附件:excel Cell函數
cell(類型,引用單元格)
類型包括:
address :單元格文本位址
col:列号
color:負值以不同顔色顯示,則為1,否則為0
contents:單元格值
filename:路徑+檔案名+工作表名,新文檔尚未儲存則傳回空文本
format:與單元格中不同的數字格式相對應的文本值
parentheses:正值或全部單元格均加括号則為1,否則為0
prefix:與單元格中不同的“标志字首”相對應的文本值
protect:如果單元格沒有鎖定則為0,否則為1
row:行号
type:與單元格中的資料類型相對應的文本值
width:取整後的單元格列寬