python xlwt模塊簡介

来源:https://www.cnblogs.com/caesar-id/archive/2019/11/05/11802440.html
-Advertisement-
Play Games

一、基礎類介紹 1、工作簿類Workbook簡介: import xlwt class Workbook(object0): ''' 工作簿類,使用xlwt創建excel文件時,首先要實例化此類的對象 ''' def __init__(self, encoding='ascii', style_co ...


一、基礎類介紹

1、工作簿類Workbook簡介:

import xlwt
class  Workbook(object0):
    '''
    工作簿類,使用xlwt創建excel文件時,首先要實例化此類的對象
    '''
     def __init__(self, encoding='ascii', style_compression=0):
        pass

    def add_sheet(self,sheetname, cell_overwrite_ok=False):
        '''
        在工作簿中創建工作表
        :param sheetname: 工作表的名字
        :param cell_overwrite_ok: 如果值為True,則可以像單元格中多次寫入數據(覆蓋寫),相當於修改單元格的數據,如果值為False則多次寫入會引發異常。
        :return: 返回一個工作表對象(也就是Worksheet()對象)
        '''
        pass
    def save(self,filename_or_stream):
        '''
        將文件以Excel的格式進行保存
        :param filename_or_stream:Excel的文件名
        :return:
        '''
        pass

2、工作表類WorkSheet簡介

class Worksheet(object):
    '''
    工作表類
    '''
    def __init__(self, sheetname, parent_book, cell_overwrite_ok=False):
        '''
        實例化對象的參數
        :param sheetname: 工作表名
        :param parent_book: 工作簿對象
        :param cell_overwrite_ok:覆蓋寫單元格(如果為True可以覆蓋寫單元格,為False如果覆蓋寫會拋異常)
        '''
        pass

    def write(self, r, c, label="", style=xlwt.Style.default_style):
        '''
        將數據寫入工作表的單元格中
        :param r: row的縮寫,表示行,從0開始計數。
        :param c: column的縮寫,表示列,從0開始計數。
        :param label:要寫入的數據(支持的數據類型:int,long,float,字元串,日期,TRUE,FALSE,xlwt.Formula等)
        :param style:表格樣式(樣式類:Font, Alignment, Borders, Pattern, Protection。樣式函數:easyxf, easyfont, add_palette_colour)
        :return:
        '''
        pass

3、創建一個不帶樣式的基礎Excel表

import xlwt
# 實例化一個工作簿對象
workbook = xlwt.Workbook(encoding = 'utf-8')

# 獲取工作表對象Worksheet
worksheet = workbook.add_sheet('work_sheet')

# 向工作表中添加數據(參數對應 行, 列, 值)
for i in range(3):
    for j in range(3):
        worksheet.write(i,j, label = 'test_' + str(j),)

# 保存數據到硬碟
workbook.save(r'i:\Excel_test.xls')

最終我們會看到如下圖所示:

 


 

二、xlwt高級應用

1、字體類Font簡介

class Font(object):

    def __init__(self):
        # twip = 1/20 of a point = 1/1440 of a inch
        # usually resolution == 96 pixels per 1 inch
        # (rarely 120 pixels per 1 inch or another one)

        self.height = 0x00C8 # 200: this is font with height 10 points 字體高度
        self.italic = False      # 斜體
        self.struck_out = False  # 刪除線
        self.outline = False     # 字體輪廓(沒發現有什麼變化)
        self.shadow = False      # 字體陰影
        self.colour_index = 0x7FFF  # 這個字體顏色貌似有限制,沒太搞懂,範圍是0x00到0x35之間有顏色,超過這個範圍都是黑色,最大不能超過0xFFFF否則會報錯。
        self.bold = False  # 粗體
        self._weight = 0x0190 # 0x02BC gives bold font  # 字體寬度
        self.escapement = self.ESCAPEMENT_NONE  #字體在單元格中位置,0x00正常,0x01字體上標,0x02字體下標。
        self.underline = self.UNDERLINE_NONE  # 預設字體不帶下劃線,0x01單下劃線,0x02和0x01差不多,0x21雙下劃線,0x02和0x21差不多
        self.family = self.FAMILY_NONE        # 不清楚做什麼的,預設沒有,0x01羅馬家族,0x02瑞士家族,0x03現代家族,0x04腳本家族,0x05描述家族
        self.charset = self.CHARSET_SYS_DEFAULT  # 字元集,字元集選項
                                CHARSET_ANSI_LATIN          = 0x00
                                CHARSET_SYS_DEFAULT         = 0x01
                                CHARSET_SYMBOL              = 0x02
                                CHARSET_APPLE_ROMAN         = 0x4D
                                CHARSET_ANSI_JAP_SHIFT_JIS  = 0x80
                                CHARSET_ANSI_KOR_HANGUL     = 0x81
                                CHARSET_ANSI_KOR_JOHAB      = 0x82
                                CHARSET_ANSI_CHINESE_GBK    = 0x86
                                CHARSET_ANSI_CHINESE_BIG5   = 0x88
                                CHARSET_ANSI_GREEK          = 0xA1
                                CHARSET_ANSI_TURKISH        = 0xA2
                                CHARSET_ANSI_VIETNAMESE     = 0xA3
                                CHARSET_ANSI_HEBREW         = 0xB1
                                CHARSET_ANSI_ARABIC         = 0xB2
                                CHARSET_ANSI_BALTIC         = 0xBA
                                CHARSET_ANSI_CYRILLIC       = 0xCC
                                CHARSET_ANSI_THAI           = 0xDE
                                CHARSET_ANSI_LATIN_II       = 0xEE
                                CHARSET_OEM_LATIN_I         = 0xFF
        self.name = 'Arial'  # 字體

1.1創建一個改變預設字體樣式的Excel

import xlwt
# 實例化一個工作簿對象
workbook = xlwt.Workbook(encoding = 'utf-8')

# 獲取工作表對象Worksheet
worksheet = workbook.add_sheet('work_sheet')

# 實例化表格樣式對象
xstyle = xlwt.XFStyle()

# 設置字體樣式
xfont = xlwt.Font()
xfont.colour_index = 0x04  # 設置字體顏色
xfont.bold = True          # 字體加粗
xfont.height = 20 * 18     # 設置字體高度(20是基數不變,18是字型大小用於調整大小)
xfont.underline = 0x01     # 設置字體帶下劃線
xfont.name = '華文彩雲'     # 設置字體

# 將字體對象賦值給樣式對象
xstyle.font = xfont

for i in range(3):
    for j in range(3):
        # 向工作表中添加數據(參數對應 行, 列, 值,樣式)
        worksheet.write(i,j, label = 'test_' + str(j),style=xstyle)

# 保存數據到硬碟
workbook.save(r'i:\2.xls')

如果一切順利,打開2.xls會看到如下:

 

 ----------------------------------------------------------------------------未完待續------------------------------------------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 升級 https 記錄 1、去阿裡雲購買證書(免費版),並提交審核資料 購買的證書 2、下載證書 下載證書 3、查看上圖頁面的第三步 JKS證書安裝 4、在證書目錄下執行阿裡雲提供的命令,密碼都填 pfx password.txt 中的內容(三次),會生成 your name.jks 文件。 生成 ...
  • ▶ Log4j2 性能 "https://logging.apache.org/log4j/2.x/performance.html" ▶ Spring Boot 依賴與配置 Maven 依賴 XML 配置 resources/log4j2.xml 混合 sync/async 彩色日誌 分類輸出到不 ...
  • 之前同事問了一道需要點腦洞的演算法題,我覺得蠻有意思的,思路可能會給大家帶來一些啟發,特意在此記錄一下 題目 現有一個元素僅為 0,1 的 n 階矩陣,求連續相鄰(水平或垂直,不能有環)元素值為 1 的序列和的最大值 假設有如下矩陣 則此矩陣連續相鄰元素為 1 的序列和分別為 4, 3,(如圖示),可 ...
  • 2019-11-05-23:03:28 List集合: java.util.List 介面繼承自 Collection 介面,是單列集合的一個重要分支,習慣性地會將實現了List 介面的對象稱為List集合 特點: 1. 它是一個元素存取有序的集合。例如,存元素的順序是11、22、33。那麼集合中, ...
  • 1. 列表 1.1 列表的介紹 列表是python的基礎數據類型之⼀,其他編程語⾔也有類似的數據類型。比如JS中的數組, java中的數組等等。它是以[ ]括起來,每個元素⽤','隔開⽽且可以存放各種數據類型: lst = [1, '哈哈', "吼吼", [1,8,0,"百度"], ("我","叫" ...
  • 1. python介紹 1.1 python是什麼樣的語言 編程語⾔主要從以下⼏個⻆度為進⾏分類,編譯型和解釋型、靜態語⾔和動態語⾔、強類型定義語⾔和弱類型定義語⾔,我們先看編譯型語⾔和解釋型語⾔.稍後再說強類型和弱類型 編譯和解釋的區別是什麼? 編譯器是把源程式的每⼀條語句都編譯成機器語⾔,並保存 ...
  • 開發環境: Windows操作系統 開發工具:MyEclipse/Eclipse + JDK+ Tomcat + MySQL 資料庫 項目簡介: 系統前段頁面採用jsp + JavaScript + css的組合技術開發,其中JavaScript使用了jQuery和bootstrap框架,這兩個前段 ...
  • 1.緩存雪崩和緩存穿透問題 1.1緩存雪崩 簡介:緩存同一時間大面積的失效,所以,後面的請求都會落到資料庫上,造成資料庫短時間內承受大量請求而崩掉。 解決辦法:  事前:儘量保證整個 redis 集群的高可用性,發現機器宕機儘快補上。選擇合適的記憶體淘汰策略。  事中:本地 ehcache 緩存 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...