自動化辦公|通過xlwings進行excel格式設置

1. 介紹

xlwings 是一個強大的 Python 庫,可以用來操作 Excel,包括設置單元格格式、調整行高列寬、應用條件格式以及使用內置樣式。本文將詳細介紹如何使用 xlwings 進行 Excel 格式化操作,并附帶代碼示例。

2. 基礎格式設置(字體、顏色、邊框)

2.1 設置字體和顏色

import xlwings as xwwb = xw.Book('example.xlsx')
sht = wb.sheets['Sheet1']# 設置單元格字體和顏色
rng = sht.range('A1:C3')
rng.font.name = '微軟雅黑'  # 字體
rng.font.size = 12         # 字號
rng.font.color = (255, 0, 0)  # 字體顏色 (RGB)
rng.api.Font.Bold = True   # 加粗# 設置背景色
rng.color = (255, 255, 0)  # 黃色背景

2.2 設置邊框

# 設置邊框
border = rng.api.Borders
border.LineStyle = 1  # 實線
border.Weight = 2     # 中等粗細
rng.api.Borders(9).LineStyle = 1  # 下邊框 (9對應Excel常量xlEdgeBottom)

3. 調整行高和列寬

# 調整行高和列寬
sht.range('A1').row_height = 25    # 設置第1行高度
sht.range('A1').column_width = 15  # 設置A列寬度# 自動調整行高列寬
sht.range('A1:C10').autofit()      # 自動調整行高和列寬
sht.autofit('columns')             # 僅自動調整列寬

4. 應用條件格式

4.1 高亮大于100的單元格

cf_range = sht.range('D1:D10')
cf = cf_range.api.FormatConditions.Add(Type=2,  # xlCellValueOperator=5,  # xlGreaterFormula1="100"
)
cf.Font.Color = 0xFF0000  # 紅色字體
cf.Interior.Color = 0xFFFF00  # 黃色背景

4.2 使用數據條(Data Bars)

cf_range.api.FormatConditions.AddDatabar()
data_bar = cf_range.api.FormatConditions(1)
data_bar.BarColor.Color = 0x00B050  # 綠色數據條

5. 使用內置樣式

# 應用Excel內置樣式
sht.range('A1').style = 'Good'     # 綠色背景
sht.range('B1').style = 'Bad'      # 紅色背景
sht.range('C1').style = 'Neutral'  # 黃色背景# 自定義樣式
style_name = 'CustomStyle'
if style_name not in [s.Name for s in wb.api.Styles]:style = wb.api.Styles.Add(style_name)style.Font.Bold = Truestyle.Interior.Color = 0x00FF00
sht.range('D1').style = style_name

6. 完整示例

import xlwings as xwwb = xw.Book()
sht = wb.sheets[0]# 填充測試數據
sht.range('A1').value = [[10, 200], [150, 50]]# 格式設置
rng = sht.range('A1:B2')
rng.font.name = 'Calibri'
rng.font.size = 12
rng.column_width = 15# 條件格式
cf = rng.api.FormatConditions.Add(Type=2, Operator=5, Formula1="100"
)
cf.Interior.Color = 0x00FF00# 保存
wb.save('formatted.xlsx')
wb.close()

7. 注意事項

  • 顏色可使用 RGB 元組 (R, G, B) 或十六進制值(需轉換為整數)。

  • 部分高級功能需通過 .api 調用 Excel VBA 對象模型。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/895870.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/895870.shtml
英文地址,請注明出處:http://en.pswp.cn/news/895870.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

EasyRTC:智能硬件適配,實現多端音視頻互動新突破

一、智能硬件全面支持,輕松跨越平臺障礙 EasyRTC 采用前沿的智能硬件適配技術,無縫對接 Windows、macOS、Linux、Android、iOS 等主流操作系統,并全面擁抱 WebRTC 標準。這一特性確保了“一次開發,多端運行”的便捷性&#xff0c…

【架構思維基礎:如何科學定義問題】

架構思維基礎:如何科學定義問題 一、問題本質認知 1.1 問題矛盾 根據毛澤東《矛盾論》,問題本質是系統內部要素間既對立又統一的關系。例如: 電商系統矛盾演變: 90年代:商品供給不足 vs 消費需求增長00年代&#x…

從零開始構建一個小型字符級語言模型的詳細教程(基于Transformer架構)之一數據準備

最近特別火的DeepSeek,是一個大語言模型,那一個模型是如何構建起來的呢?DeepSeek基于Transformer架構,接下來我們也從零開始構建一個基于Transformer架構的小型語言模型,并說明構建的詳細步驟及內部組件說明。我們以構建一個字符級語言模型(Char-Level LM)為例,目標是通…

Effective Go-新手學習Go需要了解的知識

不知不覺從事Golang開發已有4+年了,回顧自己的成長經歷,有很多感悟和心得。如果有人問我,學習Golang從什么資料開始,我一定給他推薦"Effective Go"。《Effective Go》是 Go 語言官方推薦的編程風格和最佳實踐指南,其結構清晰,內容涵蓋 Go 的核心設計哲學和常見…

坐井說天闊---DeepSeek-R1

前言 DeepSeek-R1這么火,雖然網上很多介紹和解讀,但聽人家的總不如自己去看看原論文。于是花了大概一周的時間,下班后有進入了研究生的狀態---讀論文。 DeepSeek這次的目標是探索在沒有任何監督數據的情況下訓練具有推理能力的大模型&#…

MySQL(1)基礎篇

執行一條 select 語句,期間發生了什么? | 小林coding 目錄 1、連接MySQL服務器 2、查詢緩存 3、解析SQL語句 4、執行SQL語句 5、MySQL一行記錄的存儲結構 Server 層負責建立連接、分析和執行 SQL存儲引擎層負責數據的存儲和提取。支持InnoDB、MyIS…

IntelliJ IDEA 接入 AI 編程助手(Copilot、DeepSeek、GPT-4o Mini)

IntelliJ IDEA 接入 AI 編程助手(Copilot、DeepSeek、GPT-4o Mini) 📊 引言 近年來,AI 編程助手已成為開發者的高效工具,它們可以加速代碼編寫、優化代碼結構,并提供智能提示。本文介紹如何在 IntelliJ I…

2025.2.20總結

今晚評測試報告,評到一半,由于看板數據沒有分析完,最后讓我搞完再評. 盡管工作了多年的同事告訴我,活沒干完,差距比較大,沒資格評報告,但還是本著試試的態度,結果沒想到評審如此嚴苛…

ok113i——交叉編譯音視頻動態庫

提示:buildroot支持ffmpeg和SDL,但博主的ffmpeg是按下面方法編譯通過,SDL使用buildroot直接編譯也通過; 1. 下載ffmpeg源碼 下載鏈接:https://github.com/FFmpeg/FFmpeg/tags 根據版本需要自行下載壓縮包&#xff0c…

什么叫不可變數據結構?

不可變數據結構(Immutable Data Structures)是指一旦創建之后,其內容就不能被修改的數據結構。這意味著任何對不可變數據結構的“修改”操作實際上都會返回一個新的數據結構,而原始數據結構保持不變。 一、不可變數據結構的核心特點 不可變性:一旦創建后,數據結構的內容…

深度學習之圖像分類(一)

前言 圖像回歸主要是對全連接進行理解 而圖像分類任務主要是對卷積的過程進行理解 這一部分會介紹一些基礎的概念 卷積的過程(包括單通道和多通道) 理解一個卷積神經網絡工作的過程 以及常見的模型的類別和創新點 圖像分類是什么 定義 圖像分類是指將輸…

AutoDock CrankPep or ADCP進行蛋白質多肽對接

需求描述 使用AutoDock CrankPep or ADCP進行蛋白質多肽對接 硬件及系統配置 自用電腦型號如下: 電腦:Precision Tower 7810 (Dell Inc.) CPU : Intel Xeon CPU E5-2686 v4 2.30GHz GPU: NVIDIA GeForce GTX 1070 Linux版本&a…

Django 5實用指南(二)項目結構與管理

2.1 Django5項目結構概述 當你創建一個新的 Django 項目時,Django 會自動生成一個默認的項目結構。這個結構是根據 Django 的最佳實踐來設計的,以便開發者能夠清晰地管理和維護項目中的各種組件。理解并管理好這些文件和目錄結構是 Django 開發的基礎。…

LabVIEW利用CANopen的Batch SDO寫入

本示例展示了如何通過CANopen協議向設備寫入Batch SDO(批量服務數據對象)。Batch SDO允許用戶在一次操作中配置多個參數,適用于設備的批量配置和參數設置。此方法能夠簡化多個參數的寫入過程,提高設備管理效率。 主要步驟&#xf…

WPF9-數據綁定進階

目錄 1. 定義2. 背景3. Binding源3.1. 使用Data Context作為Binding的源3.2. 使用LINQ檢索結果作為Binding的源 4. Binding對數據的轉換和校驗4.1. 需求4.2. 實現步驟4.3. 值轉換和校驗的好處4.3.1. 數據轉換的好處 4.4. 數據校驗的好處4.5. 原理4.5.1. 值轉換器原理4.5.2. 數據…

大數據治理:數字時代的關鍵密碼

大數據治理:數字時代的關鍵密碼 在信息技術飛速發展的今天,數字化浪潮席卷全球,深刻地改變著我們的生活和工作方式。數據,作為數字化時代的核心資產,正以前所未有的速度增長和積累。據國際數據公司(IDC&am…

LeetCode 1299.將每個元素替換為右側最大元素:倒序遍歷,維護最大值,原地修改

【LetMeFly】1299.將每個元素替換為右側最大元素:倒序遍歷,維護最大值,原地修改 力扣題目鏈接:https://leetcode.cn/problems/replace-elements-with-greatest-element-on-right-side/ 給你一個數組 arr ,請你將每個…

機器學習面試題匯總

1. 基礎知識 什么是監督學習和無監督學習? 監督學習是基于已標注的訓練數據來學習預測模型;無監督學習則是在沒有標簽的數據上進行學習,尋找數據的結構或模式。什么是過擬合和欠擬合? 過擬合是指模型在訓練數據上表現很好,但在測試數據上表現差。欠擬合是指模型在訓練數據…

【SQL教程|07】sql中條件查詢where用法示例

SQL WHERE 條件查詢教程 在SQL中,WHERE 條件用于在 SELECT 語句后過濾結果集,只返回符合條件的記錄。它幫助我們從大量數據中提取所需的信息。以下是使用 WHERE 條件的逐步指南。 1. 基本語法 SELECT [字段] FROM [表] WHERE [條件];SELECT&#xff1a…

力扣 跳躍游戲 II

貪心算法,存下每一步的最遠,去達到全局的最小跳躍次數。 題目 從題中要達到最少次數,肯定是每一步盡可能走遠一點。但注意j被限制了范圍,這種不用想每一步遍歷時肯定選最大的num[i],但要注意,題中是可以到…