最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python輕松實現(xiàn)將Excel表格完美轉(zhuǎn)換為Word

 更新時間:2026年02月09日 14:34:54   作者:LSTM97  
數(shù)據(jù)管理與轉(zhuǎn)換在日常工作中扮演著重要角色,本文將教你如何使用 Spire.XLS for Python 和 Spire.Doc for Python 庫,輕松將 Excel 數(shù)據(jù)導出并在 Word 中生成美觀的表格,感興趣的小伙伴可以了解下

數(shù)據(jù)管理與轉(zhuǎn)換在日常工作中扮演著重要角色。許多情況下,我們需要將 Excel 中的數(shù)據(jù)導入到 Word 文檔中,以便生成報告、制作演示材料或進行文檔歸檔。然而,這個過程不僅涉及到簡單的數(shù)據(jù)搬運,還需要確保格式的完整性,以保持文檔的專業(yè)性和可讀性。本文將教你如何使用 Spire.XLS for Python 和 Spire.Doc for Python 庫,輕松將 Excel 數(shù)據(jù)導出并在 Word 中生成美觀的表格,從而提升你的工作效率。

環(huán)境準備

首先,確保安裝了所需的庫。需要使用 Spire.XLS 和 Spire.Doc,Spire.XLS 是一款非常強大的 Excel 文件處理庫,支持讀取、編輯和生成 Excel 文件(.xlsx 和 .xls 格式);Spire.Doc 是一款功能強大的 Word 文檔處理庫,允許用戶創(chuàng)建、編輯和讀取 Word 文檔(.doc 和 .docx 格式)。

安裝命令:

pip install Spire.XLS
pip install Spire.Doc

代碼實現(xiàn)

以下是將 Excel 數(shù)據(jù)導出為 Word 表格的完整代碼示例:

from spire.xls import *
from spire.doc import *

def MergeCells(sheet, table):
    """根據(jù) Excel 工作表中的合并單元格合并 Word 表格中的對應(yīng)單元格"""
    if sheet.HasMergedCells:
        ranges = sheet.MergedCells
        for i in range(len(ranges)):
            startRow = ranges[i].Row
            startColumn = ranges[i].Column
            rowCount = ranges[i].RowCount
            columnCount = ranges[i].ColumnCount

            if rowCount > 1 and columnCount > 1:
                for j in range(startRow, startRow + rowCount):
                    table.ApplyHorizontalMerge(j - 1, startColumn - 1, startColumn - 1 + columnCount - 1)
                table.ApplyVerticalMerge(startColumn - 1, startRow - 1, startRow - 1 + rowCount - 1)

            if rowCount > 1 and columnCount == 1:
                table.ApplyVerticalMerge(startColumn - 1, startRow - 1, startRow - 1 + rowCount - 1)

            if columnCount > 1 and rowCount == 1:
                table.ApplyHorizontalMerge(startRow - 1, startColumn - 1, startColumn - 1 + columnCount - 1)

def CopyStyle(wTextRange, xCell, wCell):
    """將單元格樣式從 Excel 復制到 Word"""
    # 復制字體樣式
    wTextRange.CharacterFormat.TextColor = Color.FromRgb(xCell.Style.Font.Color.R, xCell.Style.Font.Color.G, xCell.Style.Font.Color.B)
    wTextRange.CharacterFormat.FontSize = float(xCell.Style.Font.Size)
    wTextRange.CharacterFormat.FontName = xCell.Style.Font.FontName
    wTextRange.CharacterFormat.Bold = xCell.Style.Font.IsBold
    wTextRange.CharacterFormat.Italic = xCell.Style.Font.IsItalic

    # 復制背景顏色
    if xCell.Style.FillPattern is not ExcelPatternType.none:
        wCell.CellFormat.BackColor = Color.FromRgb(xCell.Style.Color.R, xCell.Style.Color.G, xCell.Style.Color.B)

    # 復制對齊方式
    wCell.CellFormat.HorizontalAlignment = {
        HorizontalAlignType.Left: HorizontalAlignment.Left,
        HorizontalAlignType.Center: HorizontalAlignment.Center,
        HorizontalAlignType.Right: HorizontalAlignment.Right
    }.get(xCell.HorizontalAlignment)

    wCell.CellFormat.VerticalAlignment = {
        VerticalAlignType.Bottom: VerticalAlignment.Bottom,
        VerticalAlignType.Center: VerticalAlignment.Middle,
        VerticalAlignType.Top: VerticalAlignment.Top
    }.get(xCell.VerticalAlignment)

# 加載 Excel 文件
workbook = Workbook()
workbook.LoadFromFile("Contact list.xlsx")

# 獲取第一個工作表
sheet = workbook.Worksheets[0]

# 創(chuàng)建 Word 文檔
doc = Document()
section = doc.AddSection()
section.PageSetup.Orientation = PageOrientation.Landscape

# 添加表格
table = section.AddTable(True)
table.ResetCells(sheet.LastRow, sheet.LastColumn)

# 根據(jù) Excel 工作表中的合并單元格合并 Word 表格中的對應(yīng)單元格
MergeCells(sheet, table)

# 從 Excel 導出數(shù)據(jù)和單元格樣式到 Word 表格
for r in range(1, sheet.LastRow + 1):
    table.Rows[r - 1].Height = float(sheet.Rows[r - 1].RowHeight)

    for c in range(1, sheet.LastColumn + 1):
        xCell = sheet.Range[r, c]
        wCell = table.Rows[r - 1].Cells[c - 1]

        # 復制數(shù)據(jù)
        textRange = wCell.AddParagraph().AppendText(xCell.NumberText)

        # 復制單元格樣式
        CopyStyle(textRange, xCell, wCell)

# 將 Word 文檔保存到文件
doc.SaveToFile("Excel轉(zhuǎn)Word表格.docx", FileFormat.Docx)

代碼解析

合并單元格 (MergeCells 函數(shù)) :為了確保 Excel 中合并的單元格在 Word 中也保持一致,該函數(shù)管理合并單元格的邏輯。

復制樣式 (CopyStyle 函數(shù)) :設(shè)計用于將 Excel 單元格的格式(如字體、顏色和對齊方式)精確復制到 Word 表格中。

加載和處理數(shù)據(jù) :通過 Spire.XLS 從 Excel 文件中讀取數(shù)據(jù),然后創(chuàng)建 Word 文檔并構(gòu)建其中的表格。

導出數(shù)據(jù) :通過遍歷 Excel 的每一行和每一列,將數(shù)據(jù)導入 Word 表格,并同時應(yīng)用樣式。

總結(jié)

使用 Spire.XLS 和 Spire.Doc 庫,Python 開發(fā)者可以輕松地將 Excel 數(shù)據(jù)導出到 Word 文檔中,并確保格式的完整性。這種轉(zhuǎn)換不僅提高了工作效率,還提升了文檔的專業(yè)性,適用于各種商業(yè)和學術(shù)場景。希望本文的代碼示例能為你提供幫助,讓數(shù)據(jù)處理工作變得更加順暢。

到此這篇關(guān)于Python輕松實現(xiàn)將Excel表格完美轉(zhuǎn)換為Word的文章就介紹到這了,更多相關(guān)Python Excel表格轉(zhuǎn)Word內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python如何實現(xiàn) HTTP echo 服務(wù)器

    Python如何實現(xiàn) HTTP echo 服務(wù)器

    本文介紹了如何使用Python實現(xiàn)一個簡單的HTTPecho服務(wù)器,該服務(wù)器支持GET和POST請求,并返回JSON格式的響應(yīng),GET請求返回請求路徑、方法、頭和查詢字符串,POST請求還返回請求體內(nèi)容,服務(wù)器的使用方法和測試示例也一并提供,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • python 將有序數(shù)組轉(zhuǎn)換為二叉樹的方法

    python 將有序數(shù)組轉(zhuǎn)換為二叉樹的方法

    這篇文章主要介紹了python 將有序數(shù)組轉(zhuǎn)換為二叉樹的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • python 繪制擬合曲線并加指定點標識的實現(xiàn)

    python 繪制擬合曲線并加指定點標識的實現(xiàn)

    這篇文章主要介紹了python 繪制擬合曲線并加指定點標識的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • python類函數(shù)的有效調(diào)用方式

    python類函數(shù)的有效調(diào)用方式

    文章介紹了Python中類的幾種不同方法,并展示了如何有效調(diào)用這些方法,實驗涵蓋了屬性方法、靜態(tài)方法、類方法、普通方法、保護方法和私有方法,并詳細說明了每種方法的調(diào)用方式,文章還討論了如何處理調(diào)用錯誤和返回值,并提供了一些實用建議
    2024-11-11
  • 使用Python制作新型冠狀病毒實時疫情圖

    使用Python制作新型冠狀病毒實時疫情圖

    最近被新型冠狀病毒搞的人心惶惶,很多城市被病毒感染,今天小編給大家分享使用Python制作新型冠狀病毒實時疫情圖,感興趣的朋友跟隨小編一起看看吧
    2020-01-01
  • pandas將numpy數(shù)組寫入到csv的實例

    pandas將numpy數(shù)組寫入到csv的實例

    今天小編就為大家分享一篇pandas將numpy數(shù)組寫入到csv的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Pyhton中單行和多行注釋的使用方法及規(guī)范

    Pyhton中單行和多行注釋的使用方法及規(guī)范

    大家都知道python中的注釋有多種,有單行注釋,多行注釋,批量注釋,中文注釋也是常用的。python注釋也有自己的規(guī)范,這篇文章文章中會給大家詳細介紹Pyhton中單行和多行注釋的使用方法及規(guī)范,有需要朋友們可以參考借鑒。
    2016-10-10
  • Python matplotlib 畫圖窗口顯示到gui或者控制臺的實例

    Python matplotlib 畫圖窗口顯示到gui或者控制臺的實例

    今天小編就為大家分享一篇Python matplotlib 畫圖窗口顯示到gui或者控制臺的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python實現(xiàn)檢測照片中的人臉數(shù)

    Python實現(xiàn)檢測照片中的人臉數(shù)

    這篇文章主要為大家詳細介紹了如何利用Python語言實現(xiàn)檢測照片中共有多少張人臉,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-08-08
  • Python?PyQt5中窗口數(shù)據(jù)傳遞的示例詳解

    Python?PyQt5中窗口數(shù)據(jù)傳遞的示例詳解

    開發(fā)應(yīng)用程序時,若只有一個窗口則只需關(guān)心這個窗口里面的各控件之間如何傳遞數(shù)據(jù)。如果程序有多個窗口,就要關(guān)心不同的窗口之間是如何傳遞數(shù)據(jù)。本文介紹了PyQt5中三種窗口數(shù)據(jù)傳遞,需要的可以了解一下
    2022-12-12

最新評論

志丹县| 托里县| 卓资县| 昌江| 临高县| 法库县| 星子县| 香格里拉县| 横山县| 新闻| 郎溪县| 乐平市| 邵东县| 吉首市| 广东省| 兴宁市| 莒南县| 松阳县| 柳河县| 阿图什市| 南安市| 昌黎县| 清水县| 尉犁县| 延边| 遵化市| 达日县| 祁连县| 酉阳| 资源县| 肇东市| 长春市| 勐海县| 南陵县| 呈贡县| 新建县| 贞丰县| 北宁市| 通海县| 霍林郭勒市| 通河县|