刪除Excel指定行或列
使用openpyxl庫操作Excel,可以刪除指定的列
import openpyxl
def excel_delete(fp):
wb = openpyxl.load_workbook(fp) # 讀取Excel文件
ws = wb.active # 獲取激活的sheet頁
ws.delete_cols(idx=4, amount=3) # 從第4列開始往后刪除三列
ws.delete_rows(idx=2, amount=2) # 從第2行開始往下刪除兩行
wb.save(fp) # 保存文件
往Excel中追加數據
只往Excel的最后一行追加數據
import openpyxl
def write_append(io, data):
"""
追加寫入數據
:param io: Excel文件
:param data: 數據,list 或 dict類型
:return:
"""
wb = openpyxl.load_workbook(io)
sht = wb.active
sht.append(data)
wb.save(io)
往Excel中插入行或列
import openpyxl
def excel_insert(fp):
'''
插入的行和列都不是按索引插入的,是實際的行和列
偏移的行和列都是從頭(A1位置)開始算的
:param fp: 文件路徑
'''
wb = openpyxl.load_workbook(fp)
ws = wb.active
ws.insert_cols(2) # 插入第2列,即B列
ws.insert_cols(2, 4) # 向右偏移4列,插入第5列,即E列
ws.insert_rows(2) # 插入第2行
ws.insert_rows(2, 3) # 向下偏移3行,插入第4行
wb.save(fp)
往指定單元格中寫入超鏈接
xlsxwriter庫也是非常的強大,使用xlsxwriter庫操作Excel,可以實現datatime,url,boolean等等方法,如下:

安裝庫
pip3 install xlsxwriter
調用庫,操作Excel
import xlsxwriter
# 創建一個新工作簿
workbook = xlsxwriter.Workbook(r"C:\Users\Desktop\test.xlsx")
# 添加一個工作表
worksheet = workbook.add_worksheet('test')
worksheet.set_column('B:B', 40) # 為B列設置列寬為40
worksheet.set_row(2, 30) # 為第二行設置行高為30
# 設置樣式
formats = workbook.add_format({
'font_color': 'yellow',
'bold': 2,
'underline': 1,
'font_size': 12,
'fg_color': 'red'
})
# 寫入超鏈接
worksheet.write_url('B1', 'https://www.baidu.com/') # 隱式顯示
worksheet.write_url('B2', 'https://www.baidu.com/', string='百度一下') # 顯示string
worksheet.write_url('B3', 'https://www.baidu.com/', tip='前往百度') # 鼠標懸浮提示信息
worksheet.write_url('B4', 'https://www.baidu.com/', cell_format=formats) # 按格式顯示
worksheet.write_url('B5', 'C:/files/file')
worksheet.write_url(1, 2, 'https://www.baidu.com/', cell_format=formats, string='hello', tip='click')
# 寫入一個非超鏈接的URL
worksheet.write_string('B6', 'http://www.baidu.com/')
workbook.close()
效果如下:

可以設置的格式大概有下面這么多,基本還是夠用的
self.xf_format_indices = xf_indices self.dxf_format_indices = dxf_indices self.xf_index = None self.dxf_index = None self.num_format = 'General' self.num_format_index = 0 self.font_index = 0 self.has_font = 0 self.has_dxf_font = 0 self.bold = 0 self.underline = 0 self.italic = 0 self.font_name = 'Calibri' self.font_size = 11 self.font_color = 0x0 self.font_strikeout = 0 self.font_outline = 0 self.font_shadow = 0 self.font_script = 0 self.font_family = 2 self.font_charset = 0 self.font_scheme = 'minor' self.font_condense = 0 self.font_extend = 0 self.theme = 0 self.hyperlink = False self.xf_id = 0 self.hidden = 0 self.locked = 1 self.text_h_align = 0 self.text_wrap = 0 self.text_v_align = 0 self.text_justlast = 0 self.rotation = 0 self.fg_color = 0 self.bg_color = 0 self.pattern = 0 self.has_fill = 0 self.has_dxf_fill = 0 self.fill_index = 0 self.fill_count = 0 self.border_index = 0 self.has_border = 0 self.has_dxf_border = 0 self.border_count = 0 self.bottom = 0 self.bottom_color = 0 self.diag_border = 0 self.diag_color = 0 self.diag_type = 0 self.left = 0 self.left_color = 0 self.right = 0 self.right_color = 0 self.top = 0 self.top_color = 0 self.indent = 0 self.shrink = 0 self.merge_range = 0 self.reading_order = 0 self.just_distrib = 0 self.color_indexed = 0 self.font_only = 0
后續更新中。。。。
