在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
在本文中,我們將討論兩個廣泛用於管理 Excel 試算表文件的 Python 庫:IronXL 和 OpenPyXL。 這些庫對於需要處理、分析或創建 Excel 文件的 Python 開發者來說非常重要。 每個函式庫都提供獨特的功能,以更有效率和效能地處理 Excel 檔案。
IronXL和OpenPyXL提供開發人員自動化電子表格操作、編輯 Excel 表格單元格和提取樣本數據的能力。 他們還支持高級功能,如創建公式、樣式化單元格以及無縫處理大型數據集。 這確保應用程式能夠在不同的環境中有效地管理 Excel 檔案,而不會在性能或相容性上妥協。
在這次比較中,我們將探討每個庫的獨特功能及其運作方式。 我們也將介紹其授權詳細資訊。 讓我們來看看 IronXL 和 OpenPyXL 的差異和功能,著重於為開發人員提供清晰且有用的資訊。
OpenPyXL 是一個專為處理 XLSX 格式 Excel 檔案而設計的 Python 函式庫。 該庫允許開發人員讀取、寫入和修改 Excel 文件。 OpenPyXL 模組支援多種 Excel 功能,包括數據操作、格式化,以及像圖表和樞紐分析表這樣的進階功能。
OpenPyXL 擅長創建和編輯工作簿。 它允許您從空白的工作簿開始或修改現有的工作簿,添加或刪除工作表,並輕鬆導航工作表。 這使其非常適合從生成報告到自動化數據輸入的各種任務。
此函式庫支援進階資料處理功能,例如追加行、插入公式,以及對活動工作表套用樣式。 您可以通過程式設置儲存格的值來操作大型數據集,這樣可以簡化數據分析和報告生成等任務。
使用 OpenPyXL,您可以應用單元格格式設定,例如字體、顏色和邊框。 它還支持條件格式化和設置單元格屬性,如對齊,這對於創建專業樣式的 Excel 報告至關重要。
OpenPyXL 可以為試算表添加圖形元素。 您可以插入圖表以視覺化資料,甚至可以添加圖片來增強資訊的呈現效果。 此功能對於創建儀表板和複雜報告特別有用。
該程式庫允許將 Excel 公式整合到儲存格中,使工作表內的自動計算成為可能。 它還支持建立命名範圍,這在組織數據和創建更易讀和可維護的工作表時非常便利。
OpenPyXL 提供資料驗證和排序的工具,這對於維持資料完整性和有效地組織信息至關重要。 它還提供了數據篩選功能,使得在 Excel 文件中管理大量數據變得更加容易。
作為一個開源庫,OpenPyXL 得益於活躍社群的持續貢獻,確保其保持相關性和功能豐富。 這種社區參與為使用該庫的開發者提供了豐富的資源和支持。
IronXL 是一個強大的 Python 函式庫,專為在不需要 Microsoft Excel 的情況下操作 Excel 文件而設計。 由於其處理各種 Excel 任務的簡單性和有效性,並且可以直接在 Python 環境中進行,因此受到青睞。
IronXL 簡化了創建、加載和保存Excel格式例如 XLS、XLSX 和 CSV 等。 它確保了與不同 Excel 版本的相容性,並提供了全面的功能,以程式化方式管理 Excel 數據。
使用 IronXL,您可以有效地排序數據,管理列和欄,並自訂儲存格格式。 這包括設定數據類型、公式,甚至在單元格中實現 Excel 函數。
IronXL提供廣泛的儲存格的樣式選項,包括設定字體、邊框和背景顏色。 它支持高級 Excel 特性,如條件格式設定和設置工作表的列印選項,增強你的 Excel 報告的可讀性和展示效果。
該庫支持編輯元數據、管理權限以及設置文件密碼保護,以確保敏感數據得到保護。
IronXL 被設計為可在多個操作系統上運行,包括 Windows、macOS 和 Linux,確保開發人員能夠在不同平台上部署他們的應用程式而不會遇到兼容性問題。
IronXL 提供強大的功能來處理工作表範圍和個別儲存格。 您可以輕鬆合併、複製和操作單元格範圍。 此功能簡化了複雜數據設置的管理。
IronXL 無縫整合數據庫和數據來源。 它支持將資料從 Excel 文件匯入和匯出。 此功能對於需要動態數據報告和分析的應用程式至關重要。
要開始測試 IronXL 和 OpenPyXL 庫,我們需要在 Visual Studio Code 中設置專門針對 Python 開發的項目。
在開始之前,請確保您的電腦上已安裝 Visual Studio Code。 還需要安裝 Python 以及 Visual Studio Code 的 Python 擴展。 您可以直接在 Visual Studio Code 的擴充功能視圖中添加此擴充功能。
首先,在您的系統上創建一個新文件夾,這將作為您的項目工作空間。 您可以通過 VS Code 的檔案選單中的「開啟資料夾」選項輕鬆完成這項操作。
在 Visual Studio Code 中,建議設立虛擬環境以乾淨地管理依賴。 您可以使用 Visual Studio Code 中的集成終端機來完成此操作。 Visual Studio Code 也在 Python 擴展中提供了一個介面來簡化此過程。 透過 Python 擴展的命令選擇器,您可以創建並激活虛擬環境,而無需手動輸入命令。
在 VS Code 中按 Ctrl+Shft+P,搜尋「Python: Create Environment」,然後點擊它。
從下拉列表中選擇一種環境類型。在我們的情況下,將是 ".venv":
之後,選擇 Python 解釋器路徑:
它會在資料夾內創建虛擬 Python 環境。
在 Visual Studio Code 中安裝 IronXL 庫是一個簡單的過程。 IronXL 特別有用,因為它不需要安裝 Microsoft Office,而是運行於 .NET 框架之上。
之前安裝 IronXL,確保您的環境已配置 Python 和 Visual Studio Code。 在您的電腦上安裝 .NET 6.0 運行時非常重要,因為 IronXL 依賴於 .NET 技術才能運行。 對於尚未安裝 .NET 的系統,如 Linux 或 macOS,您可能需要從 .NET 官方網站下載。
要安裝 IronXL,請使用 pip 套件管理器,此工具能簡化 Python 庫的安裝過程。 在 Visual Studio Code 的終端中按照以下步驟操作:
打開終端機:通過使用快捷鍵 Ctrl+` 在 Visual Studio Code 中訪問終端機,或從頂部選單導航到 終端機 > 新終端機。
pip install IronXL
上面的程式碼命令將下載並安裝IronXL庫以及其運行所需的任何相依項目。
from ironxl import *
如果沒有出現錯誤,則表示庫已成功安裝並準備就緒。
在安裝 IronXL 時,如果遇到任何與依賴性或與 .NET 的相容性相關的問題,請確保滿足 IronXL 文件中規定的所有系統需求。 可能需要根據您的操作系統調整系統路徑或安裝額外的支持庫。
透過遵循這些指示,IronXL 將安裝在您的 Visual Studio Code 的 Python 環境中,為您的 Python 專案提升 Excel 文件操作和數據處理能力。
可以使用 Python 的套件管理工具 pip 安裝 OpenPyXL。 建議在虛擬環境中安裝此函式庫,以避免與其他 Python 項目或系統套件發生衝突。
pip install openpyxl
此命令將下載並安裝 OpenPyXL 庫以及所需的任何依賴項。
pip install lxml pillow
安裝後,您可以嘗試在您的 Python 腳本中導入 OpenPyXL 模組來驗證 OpenPyXL 是否正確安裝:
from openpyxl import Workbook // openpyxl import workbook
wb = Workbook()
如果上述程式碼執行沒有錯誤,OpenpyXL 已準備好在您的項目中使用。 按照以下步驟,您可以輕鬆設置 OpenPyXL 並開始在您的 Python 應用中自動化 Excel 文件操作。
IronXL 是一個完整的 Python 函式庫,旨在增強 Excel 文件操作。 這個工具簡化了在 Python 應用程式中創建、編輯和管理 Excel 文件的過程,提供了一系列功能以滿足各種需求,從基本的電子表格操作到先進的數據處理。
IronXL 在處理不同的 Excel 格式方面表現出色,包括 XLS、XLSX 和 CSV。用戶可以輕鬆地從這些格式導入範例數據或將工作表導出到這些格式,從而促進多樣化的數據交換和報告解決方案。 您也可以選擇要處理的活頁簿工作表。
from ironxl import * workbook = WorkBook.Load("sample.csv")
workbook2 = WorkBook.Load("sample.xlsx")
workbook3 = WorkBook.Load("sample.xls")
該庫支持Excel 公式,允許在 Excel 表中進行計算。 每次編輯工作表時,公式會自動重新計算,以確保資料的一致性和準確性。
from ironxl import *
# Create a new Excel workbook
new_workbook = WorkBook()
# Add a worksheet to the workbook
new_worksheet = new_workbook.CreateWorkSheet("NewSheet")
# Set new formulas with different logic
new_worksheet["A1"].Formula = "Average(D1:D5)"
new_worksheet["D1"] = 10
new_worksheet["D2"] = 20
new_worksheet["D3"] = 30
new_worksheet["D4"] = 40
new_worksheet["D5"] = 50
new_worksheet["B1"].Formula = "=D3*D4"
new_worksheet["C1"].Formula = "Min(D1:D5)"
# Force recalculate all formulas in the workbook
new_workbook.EvaluateAll()
# Get the calculated values for each formula
average_value = new_worksheet["A1"].ToArray()[0].FormattedCellValue
product_value = new_worksheet["B1"].ToArray()[0].FormattedCellValue
min_value = new_worksheet["C1"].ToArray()[0].FormattedCellValue
# Save the new workbook to a file with updated formulas and calculated values
new_workbook.SaveAs("sample.xlsx")
IronXL 提供豐富的儲存格格式化選項。 使用者可以通過程式碼直接在 Excel 試算表中調整字體、大小、背景、邊框和對齊方式。 此功能有助於準備需要特定風格指南的數據展示和報告。
from ironxl import * License.LicenseKey = "License Code";
workbook = WorkBook()
new_worksheet = workbook.CreateWorkSheet("FinanceData")
selected_range = new_worksheet["B2:B6"]
new_worksheet["B2"].Value = "Revenue"
new_worksheet["B3"].Value = 150000
new_worksheet["B4"].Value = 200000
new_worksheet["B5"].Value = 180000
new_worksheet["B6"].Value = 220000
selected_range.Style.SetBackgroundColor("#4CAF50")
selected_range.Style.Font.Underline = FontUnderlineType.Single
selected_range.Style.Font.Strikeout = False
selected_range.Style.Font.Bold = True
selected_range.Style.Font.Italic = False
selected_range.Style.TopBorder.Type = BorderType.Thin
selected_range.Style.BottomBorder.Type = BorderType.Thin
selected_range.Style.LeftBorder.Type = BorderType.Thin
selected_range.Style.RightBorder.Type = BorderType.Thin
selected_range.Style.TopBorder.SetColor("#000000")
selected_range.Style.BottomBorder.SetColor("#000000")
selected_range.Style.LeftBorder.SetColor("#000000")
selected_range.Style.RightBorder.SetColor("#000000")
selected_range.Style.VerticalAlignment = VerticalAlignment.Center
selected_range.Style.HorizontalAlignment = HorizontalAlignment.Center
selected_range.Style.FillPattern = FillPattern.LessDots
selected_range.Style.Indention = 0
selected_range.Style.WrapText = True
# Save the new workbook to a file with updated formulas and calculated values
workbook.SaveAs("styled.xlsx")
為了增強數據完整性,IronXL 包含數據驗證功能。 它還提供強大的排序功能,適用於範圍、欄和列,使組織和分析大型數據集變得更容易。
安全功能在IronXL中包括加密和解密Excel文件的功能。 這可確保敏感信息受到保護,僅限授權用戶存取。
from ironxl import *
# Load a different Excel workbook
workbook = WorkBook.Load("data_file.xlsx")
worksheet = workbook.DefaultWorkSheet
# Open a different protected spreadsheet file
protected_workbook = WorkBook.Load("protected_data.xlsx", "ExcelSecure")
# Apply encryption to the spreadsheet file
workbook.Encrypt("ExcelSecure")
# Clear any existing password protection
workbook.Password = None
# Save changes to the workbook
workbook.Save()
worksheet.ProtectSheet("SheetSecure")
worksheet.UnprotectSheet()
workbook.Save()
IronXL不限於處理Excel文件,如XLSX、XLSM、XLTX、XLTM文件。 它還可以將 Excel 文件轉換為 JSON、XML、HTML 或二進位格式,擴展了在不同平台和程式環境中使用資料的可能性。
from ironxl import *
workbook = WorkBook.Create()
worksheet = workbook.CreateWorkSheet("Sheet1")
worksheet["B1"].Value = "Sample Text"
worksheet["B2"].Style.BottomBorder.SetColor("#0077CC")
workbook.SaveAs("output.xls")
workbook.SaveAs("output.xlsx")
workbook.SaveAs("output.tsv")
workbook.SaveAsCsv("output.csv")
workbook.SaveAsJson("output.json")
workbook.SaveAsXml("output.xml")
workbook.ExportToHtml("output.html")
該程式庫通過允許用戶創建、加載和操作整個工作簿或單個工作表,簡化了工作簿管理。 這包括添加或刪除工作表,以及設定工作表的可見性和列印設定。
from ironxl import *
# Load the Excel workbook
workbook = WorkBook.Load("sample.xlsx")
# Create a new worksheet
new_worksheet = workbook.CreateWorkSheet("NewSheet")
# Fill data into the new worksheet
for i in range(1, 21):
new_worksheet[f"A{i}"].Value = f"Data {i}"
new_worksheet[f"B{i}"].Value = 21 - i
new_worksheet[f"C{i}"].Value = i % 5
new_worksheet[f"D{i}"].Value = (i * 3) % 7
# Select a range in the new worksheet
selected_range = new_worksheet["A1:D20"]
# Select column B in the new worksheet
column = new_worksheet.GetColumn(1)
# Sort the range in ascending order based on column A
selected_range.SortAscending()
# Sort the range by column C in ascending order
selected_range.SortByColumn("C", SortOrder.Ascending)
# Sort column B in descending order
column.SortDescending()
# Save the changes
workbook.SaveAs("sortedExcelRange.xlsx")
IronXL 允許用戶動態地插入新行和新列合併到現有的 Excel 工作表中。 此功能特別適用於在不影響電子表格整體佈局的情況下,根據不斷變化的數據需求修改數據結構。
# Add a row before second row
worksheet.InsertRow(1)
# Insert multiple rows before 5th Row
worksheet.InsertRows(4, 4)
# Add a column before column C
worksheet.InsertColumn(2)
# Insert multiple columns before column B
worksheet.InsertColumns(1, 3)
使用 IronXL,用户可以分組或取消分組行和列. 此功能增強了資料的組織,允許通過根據需要摺疊和展開分組資料,以便更輕鬆地導航和管理複雜的數據集。
IronXL 支援行和列的重複在工作簿的多個頁面中。 這對於創建需要在每一個印刷頁面上都出現的 Excel 文件的頁眉或頁腳很有用,確保一致的展示和可讀性。
# Configure rows 2 to 5 to repeat at the top of each printed page
worksheet.SetRepeatingRows(1, 4)
# Configure columns D to F to repeat on the left side of each printed page
worksheet.SetRepeatingColumns(3, 5)
# Insert a page break after column J so that columns A-J appear on the first printed page
worksheet.SetColumnBreak(9)
使用者可以使用 IronXL 在同一個工作簿中複製現有工作表。 此功能在建立多個共享共同格式的工作表或備份重要數據時節省時間。 它對於資料複製用途非常有幫助。
# Duplicate the worksheet to the same workbook
worksheet.CopySheet("Copied Sheet")
# Duplicate the worksheet to another workbook with the specified name
worksheet.CopyTo(second_book, "Copied Sheet")
IronXL 提供了能力來將圖片添加到工作表中從中提取圖像或移除圖像。 這可以提升試算表的視覺吸引力,對於包含圖形數據、標誌或說明圖像的報告非常有用。
OpenPyXL 允許條件格式化,讓你根據儲存格中包含的數據改變其樣式。 這可以包括根據數值設置顏色,或根據特定條件應用不同的字體和樣式,以增強數據的視覺呈現。
from openpyxl import Workbook
from openpyxl.formatting.rule import ColorScaleRule
wb = Workbook()
ws = wb.active
color_scale = ColorScaleRule(start_type='num', start_value=10, start_color='FF0000',
end_type='num', end_value=20, end_color='00FF00')
ws.conditional_formatting.add('A1:A10', color_scale)
wb.save('conditional_formatting.xlsx')
使用 OpenPyXL,您可以實現資料驗證以控制輸入到單元格中的資料類型。 這包括設置下拉列表、限制輸入到特定日期或數字範圍,以及為無效輸入生成錯誤信息,這有助於維護數據完整性。
from openpyxl import Workbook
from openpyxl.worksheet.datavalidation import DataValidation
wb = Workbook()
ws = wb.active
dv = DataValidation(type="list", formula1='"Item1,Item2,Item3"', allow_blank=True)
ws.add_data_validation(dv)
dv.add('A1')
ws['A1'] = 'Item1'
wb.save('data_validation.xlsx')
該函式庫支援創建和自訂各種圖表類型,如折線圖、條形圖、圓餅圖和散佈圖。 此功能使得可以直接在 Excel 表格中可视化数据,促进更好的数据分析和报告。 我們表示圖表繪製行並選擇要在圖表中顯示的值參考。
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
wb = Workbook()
ws = wb.active
for i in range(10):
ws.append([i])
values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10)
chart = BarChart()
chart.add_data(values)
ws.add_chart(chart, "E5")
wb.save("chart.xlsx")
OpenPyXL 提供合併多個儲存格以創建單一較大儲存格的功能,這通常對於格式化標題或組織數據非常有用。 它還允許在需要時將這些單元格取消合併或分割回單獨的單元格。
您可以讀寫儲存格的註解,允許在 Excel 文件中加入附加的備註或說明。此功能對於需要在使用者之間共享備註和指導方針的協作專案特別有用。
from openpyxl import Workbook
from openpyxl.comments import Comment
wb = Workbook()
ws = wb.active
comment = Comment(text="This is a comment", author="Author")
ws['A1'].comment = comment
wb.save('comments.xlsx')
該庫提供了從工作表中的數據創建樞紐分析表的功能。 這個強大的工具有助於全面地總結、分析、探索和展示您的數據,使您更容易從大型數據集中得出結論並做出明智的決策。
文件: IronXL 為 Python 開發者提供豐富的文件。 它涵蓋了廣泛的主題,包括如何讀取、寫入和編輯 Excel 文件、管理工作簿、設置儲存格樣式以及以程式化方式排序資料。 該文件設計簡單明瞭,並補充了大量的代碼示例,以協助開發人員快速將 IronXL 功能集成到他們的應用中。
支持: IronXL 提供強大的支持選項。 開發人員可以通過完整的常見問題解答部分、線上詳細文檔和直接的電子郵件支持獲得協助。 如有更複雜的問題或需要立即協助,您可以直接聯繫他們的工程團隊。
文件檔案: OpenPyXL 的文件資料詳盡且組織良好,為開發人員提供了從入門到高級功能的指南,例如圖表、帶有錯誤消息的數據驗證和條件格式設定。 文件包括詳細的說明和程式碼片段,對於新用戶和有經驗的用戶都很有幫助。
支持: OpenPyXL 主要通過社區論壇和他們官方儲存庫上的問題跟蹤器提供支持。 開發者可以在 GitHub 上提交問題並對庫進行貢獻,使其成為一個協作且持續發展的工具。
IronXL 提供多種永久授權針對不同專案需求量身打造的選項,確保開發人員可以在各種環境中使用該函式庫,而無需持續成本。
Professional License: 價格為 $2,999,這是最全面的套裝,支持 10 名開發人員、10 個地點和 10 個項目。 它提供與Plus License相同的支援選項,並提供螢幕共享支援以進行深入協助。
其他選項包括:
延長產品支援與更新:開發者可以選擇持續支援和更新,提供1年免費選項或以499美元購買5年套裝。這包括安全功能升級以及來自工程團隊的直接支援。
每個授權還包括30天退款保證,讓開發者可以無風險地測試IronXL。 這些授權條款使 IronXL 成為各種範圍和規模專案的靈活選擇,為不同專業環境中的實施提供了明確的途徑。
OpenPyXL 採用 MIT 授權協議分發,這是一種寬鬆的自由軟體授權。 這意味著它允許開放原始碼和專有軟體在使用上的很大自由。 MIT 許可證允許在專有軟件中重複使用,前提是所有被許可的軟件副本中都包含一份 MIT 許可證條款和版權聲明的副本。
在我們對IronXL和OpenPyXL的評測中,我們研究了它們的功能、可用性、支持選項和授權。 這兩個程式庫在管理 Excel 文件方面都很出色,但它們滿足不同的需求。
IronXL 因其豐富的功能而突出,允許進行複雜的 Excel 操作而無需 Microsoft Office。它提供詳細的文檔和強大的技術支持,使其成為大型項目或企業的可靠選擇。 數據科學家使用IronXL進行多種用途,如資料複製、資料挖掘、資料分析和其他許多任務。 IronXL 授權價格從 $749 開始,但它包括免費試用版。 此試用版讓開發者能夠在購買前充分測試 IronXL 的功能,這對於任何嚴肅的項目來說都是一大優勢。
OpenPyXL 也非常強大,尤其是在其高級 Excel 功能方面,例如線形圖和條件格式化。 它在 MIT 许可证下提供,可为开源和商业用途提供灵活性。 它的支持是社群驅動的,這很好,但沒有 IronXL 所提供的結構化支持。
如果您的專案需要高階功能以及專業和持續的支援,IronXL 是更好的選擇。起初可能成本較高,但這是一項值得的投資,特別是對於複雜或長期的專案而言,其帶來的好處和安全性是無可比擬的。
9 個 .NET API 產品 針對您的辦公文件