xlsxwriter

一、

xlsxwriter速度快,但不能讀
而openpyxl可以讀和寫

二、Example

import xlsxwriter


#創(chuàng)建一個新表
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()

#擴大第一列的寬度
worksheet.set_column('A:A', 20)

#添加一個bold格式強調(diào)單元格
bold = workbook.add_format({'bold': True})

#寫一些簡單的文本
worksheet.write('A1', 'Hello')

#帶有格式的寫入
worksheet.write('A2', 'World', bold)

#寫一些數(shù)字通過行列
worksheet.write(2, 0, 123)
worksheet.write(3, 0, 123.456)

#插入一張圖片
#worksheet.insert_image('B5', 'logo.png')

#關(guān)閉
workbook.close()

三、深入一小步

(一)

import xlsxwriter

#創(chuàng)建一個新表
workbook = xlsxwriter.Workbook('Expenses01.xlsx')
worksheet = workbook.add_worksheet()

#一些我們想寫進表里的數(shù)據(jù)
expenses = (
    ['Rent', 1000],
    ['Gas',   100],
    ['Food
     ',  300],
    ['Gym',    50],
)

#從第一單元開始,行和列是零索引

row = 0
col = 0

#迭代這些數(shù)據(jù)并一行行寫入
for item, cost in (expenses):
    worksheet.write(row, col, item)
    worksheet.write(row, col + 1, cost)
    row += 1

#用算式寫入合計
worksheet.write(row, 0, 'Total')
worksheet.write(row, 1, '=SUM(B1:B4)')

workbook.close()

(二)

import xlsxwriter

#創(chuàng)建一個新表
workbook = xlsxwriter.Workbook('Expenses02.xlsx')
worksheet = workbook.add_worksheet()

#添加一個粗體格式使用強調(diào)單元格
bold = workbook.add_format({'bold': True})

#添加一個使用于money數(shù)據(jù)格式的數(shù)字格式
money = workbook.add_format({'num_format': '$#,##0'})

#寫一些數(shù)據(jù)作為標(biāo)題
worksheet.write('A1', 'Item', bold)
worksheet.write('B1', 'Cost', bold)

#一些我們想寫進表里的數(shù)據(jù)
expenses = (
    ['Rent', 1000],
    ['Gas',   100],
    ['Food',  300],
    ['Gym',    50],
    
)

#從第一行的標(biāo)題下開始,行和列是零索引

row = 1
col = 0

#迭代這些數(shù)據(jù)并一行行寫入
for item, cost in (expenses):
    worksheet.write(row, col, item)
    worksheet.write(row, col + 1, cost, money)
    row += 1

#用算式寫入合計
worksheet.write(row, 0, 'Total',       bold)
worksheet.write(row, 1, '=SUM(B2:B5)', money)

workbook.close()

(三)

import xlsxwriter
from datetime import datetime

#創(chuàng)建一個新表
workbook = xlsxwriter.Workbook('Expenses03.xlsx')
worksheet = workbook.add_worksheet()

#添加一個粗體格式使用強調(diào)單元格
bold = workbook.add_format({'bold': True})

#添加一個使用于money數(shù)據(jù)格式的數(shù)字格式
money_format = workbook.add_format({'num_format': '$#,##0'})

#使用一個excel日期格式
date_format = workbook.add_format({'num_format': 'mmmm d yyyy'})

#調(diào)整列寬度
worksheet.set_column(1, 1, 20)

#寫一些數(shù)據(jù)作為標(biāo)題
worksheet.write('A1', 'Item', bold)
worksheet.write('B1', 'Cost', bold)

#一些我們想寫進表里的數(shù)據(jù)
expenses = (
    ['Rent', '2013-01-13', 1000],
    ['Gas',  '2013-01-14',  100],
    ['Food', '2013-01-16',  300],
    ['Gym',  '2013-01-20',   50],
)

#從第一行的標(biāo)題下開始,行和列是零索引

row = 1
col = 0

#迭代這些數(shù)據(jù)并一行行寫入
for item, date_str, cost in (expenses):
    #把日期的字符串轉(zhuǎn)化為datetime對象
    date = datetime.strptime(date_str, "%Y-%m-%d")
    
    worksheet.write_string  (row, col, item                  )
    worksheet.write_datetime(row, col + 1, date, date_format )
    worksheet.write_number  (row, col + 2, cost, money_format)
    row += 1

#用算式寫入合計
worksheet.write(row, 0, 'Total',       bold)
worksheet.write(row, 2, '=SUM(C2:C5)', money_format)

workbook.close()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容