在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
在本文中,我们将讨论两个广泛使用的用于管理 Excel 电子表格文件的 Python 库:IronXL 和 OpenPyXL。对于需要处理、分析或创建 Excel 文件的 Python 开发人员来说,这两个库非常重要。每个库都提供了独特的功能,以便更有效、更高效地处理 Excel 文件。
IronXL 和 OpenPyXL 它们为开发人员提供了自动执行电子表格操作、编辑 Excel 表单单元格和提取样本数据的功能。它们还支持创建公式、单元格样式和无缝处理大型数据集等高级功能。这可确保应用程序在各种环境中高效管理 Excel 文件,而不会影响性能或兼容性。
在本比较中,我们将探讨每个库的独特功能及其工作原理。我们还将介绍它们的许可细节。让我们来看看 IronXL 和 OpenPyXL 的区别和功能,重点是为开发人员提供清晰有用的信息。
OpenPyXL 是一个专为处理 XLSX 格式 Excel 文件而定制的 Python 库。该库允许开发人员读取、写入和修改 Excel 文件。OpenPyXL 模块支持各种 Excel 功能,包括数据操作、格式化以及图表和数据透视表等高级功能。
OpenPyXL 擅长创建和编辑工作簿。它允许你从空白工作簿开始或修改现有工作簿,添加或删除工作表,并轻松浏览工作表。因此,从生成报告到自动数据录入,OpenPyXL 都能完美胜任。
本程序库支持高级数据处理功能,如追加行、插入公式和在活动工作表中应用样式。您可以通过程序设置单元格值来操作大型数据集,从而简化数据分析和报告生成等任务。
使用 OpenPyXL,您可以应用单元格格式,如字体、颜色和边框。它还支持条件格式化和设置单元格属性(如对齐方式),这对于创建专业风格的 Excel 报告至关重要。
OpenPyXL 可以为电子表格添加图形元素。您可以插入图表使数据可视化,甚至添加图像来增强信息的呈现效果。这一功能对于创建仪表盘和复杂的报告尤为有用。
该库可将 Excel 公式集成到单元格中,从而在电子表格中实现自动计算。它还支持创建命名范围,这在组织数据和创建更可读、更易维护的工作表时非常方便。
OpenPyXL 提供了数据验证和排序工具,这对于保持数据的完整性和有效组织信息至关重要。它还提供了过滤数据的功能,使管理 Excel 文件中的大量数据变得更加容易。
作为一个开放源码库,OpenPyXL 得益于一个充满活力的社区的持续贡献,确保其保持相关性和丰富的功能。社区的参与为使用该库的开发人员提供了大量资源和支持。
IronXL 是一个强大的 Python 库,用于在不需要 Microsoft Excel 的情况下处理 Excel 文件。它可以在 Python 环境中直接处理各种 Excel 任务,因其简单有效而备受青睐。
IronXL 简化了 创建、加载和保存 Excel 格式 如 XLS、XLSX 和 CSV 等。它能确保与不同 Excel 版本兼容,并提供全面的功能,以编程方式管理 Excel 数据。
使用 IronXL,您可以有效地对数据进行排序、 管理行和列以及自定义单元格格式。这包括设置数据类型和公式,甚至在单元格中执行 Excel 函数。
IronXL 允许广泛的 单元格样式选项它还支持 Excel 的各种功能,包括设置字体、边框和背景颜色。它支持高级 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 代码中按 Ctrl+Shft+P 搜索 "Python:创建环境"并点击它。
从下拉列表中选择环境类型。在我们的例子中,它将是".venv":
然后,选择 Python 解释器路径:
它会在文件夹内创建虚拟 Python 环境。
在 Visual Studio Code 中安装 IronXL 库的过程非常简单。IronXL 特别有用,因为它不需要安装 Microsoft Office,而是在 .NET 框架之上运行。
之前 安装 IronXL请确保您的环境已经配置了 Python 和 Visual Studio Code。由于 IronXL 依靠 .NET 技术运行,因此在机器上安装 .NET 6.0 运行时非常重要。对于尚未安装 .NET 的系统,如 Linux 或 macOS,您可能需要从 .NET 官方网站下载。
要安装 IronXL,请使用 pip 软件包管理器,它可以简化 Python 库的安装。请在 Visual Studio Code 的终端中按照以下步骤操作:
打开终端:使用快捷键 Ctrl+ 或从顶部菜单导航至 Terminal > New Terminal,通过 Visual Studio Code 访问终端。
pip install IronXL
上述代码命令将下载并安装 IronXL 库及其运行所需的任何依赖项。
from ironxl import *
如果没有出现错误,则说明库已成功安装并可使用。
安装 IronXL 时,如果遇到任何与 .NET 相关的依赖性或兼容性问题,请确保满足 IronXL 文档规定的所有系统要求。根据操作系统的不同,可能需要调整系统路径或安装额外的支持库。
按照这些说明,IronXL 将安装在 Visual Studio 代码的 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 提供多种 永久许可证 所有这些都确保开发人员可以在各种环境中使用该库,而无需持续支付费用。
其他选项包括
每个许可证还包括 30 天退款保证,允许开发人员无风险地测试 IronXL。这些许可条款使 IronXL 成为各种范围和规模的项目的灵活选择,为在不同的专业环境中实施提供了明确的途径。
OpenPyXL 采用 MIT 许可发布,这是一种自由软件许可。这意味着它允许开源软件和专有软件自由使用。MIT 许可证允许在专有软件中重复使用,前提是所有许可证软件的副本都包含一份 MIT 许可证条款和版权声明的副本。
在对 IronXL 和 OpenPyXL 的评测中,我们了解了它们的功能、可用性、支持选项和许可情况。这两个库都非常适合管理 Excel 文件,但它们满足的需求不同。
IronXL 因其丰富的功能而脱颖而出,无需 Microsoft Office 即可进行复杂的 Excel 操作。它提供详细的文档和强大的技术支持,是大型项目或企业的可靠选择。数据科学家将 IronXL 用于多种用途,如数据复制、数据挖掘、数据分析和许多其他任务。IronXL 许可证起价为"$liteLicense",但包含免费试用版。试用版可让开发人员在购买前充分测试 IronXL 的功能,这对任何严肃的项目来说都是一大优势。
OpenPyXL 的功能也很强大,尤其是它的高级 Excel 功能,如折线图和条件格式化等图表。它采用 MIT 许可,为开源和商业使用提供了灵活性。它的支持是社区驱动的,这很好,但没有 IronXL 提供的结构化支持。
如果你的项目需要高级功能以及专业和持续的支持,IronXL 是更好的选择。虽然初期可能会有成本,但从其提供的优势和安全性来看,这笔投资是值得的,尤其是对于复杂或长期项目而言。
9个 .NET API 产品 用于您的办公文件