ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
この記事では、Excelスプレッドシートファイルを管理するために広く使われている2つのPythonライブラリについて説明します:IronXL と OpenPyXL です。 これらのライブラリは、Excelファイルのドキュメントを操作、分析、作成する必要のあるPython開発者にとって重要です。 各ライブラリは、Excelファイルをより効果的かつ効率的に扱うためのユニークな機能を提供しています。
IronXL 以下のコンテンツを日本語に翻訳してください: OpenPyXL は、開発者にスプレッドシート操作の自動化、Excelシートセルの編集、サンプルデータの抽出機能を提供します。 また、数式の作成、セルのスタイル設定、大規模なデータセットのシームレスな処理などの高度な機能もサポートしています。 これにより、アプリケーションはパフォーマンスや互換性を損なうことなく、さまざまな環境でExcelファイルを効率的に管理できるようになります。
この比較では、各ライブラリーのユニークな特徴と、それらがどのように機能するのかを探っていく。 また、ライセンスの詳細についても説明する。 IronXLとOpenPyXLの違いと機能について、開発者にとって明確で有益な情報を中心に見ていきましょう。
OpenPyXLは、XLSX形式のExcelファイルを扱うためのPythonライブラリです。 このライブラリにより、開発者はExcelファイルの読み取り、書き込み、修正を行うことができる。 OpenPyXLモジュールは、データ操作、書式設定、チャートやピボットテーブルのような高度な機能を含む、Excelの様々な機能をサポートしています。
OpenPyXLはワークブックの作成と編集に優れています。 白紙のワークブックから始めたり、既存のワークブックを修正したり、シートを追加したり削除したり、シート間を簡単に移動することができます。 そのため、レポートの作成からデータ入力の自動化まで、さまざまな作業に最適です。
このライブラリは、行の追加、数式の挿入、アクティブシートへのスタイル適用など、高度なデータ処理機能をサポートしています。 セルの値をプログラムで設定することで、大規模なデータセットを操作することができ、データ分析やレポート作成などの作業を簡素化できます。
OpenPyXLでは、フォント、色、ボーダーなどのセルの書式を適用することができます。 また、プロフェッショナルなスタイルのエクセル・レポートを作成するために不可欠な、条件付き書式設定や、整列のようなセルプロパティの設定もサポートしています。
OpenPyXLはスプレッドシートにグラフィカルな要素を追加することができます。 グラフを挿入してデータを視覚化したり、画像を追加して情報表示を強化することもできる。 この機能は、ダッシュボードや複雑なレポートを作成する際に特に便利です。
このライブラリは、Excelの数式をセルに統合し、スプレッドシート内での自動計算を可能にする。 また、名前付き範囲の作成もサポートしており、データを整理し、より読みやすく保守性の高いシートを作成するのに非常に便利です。
OpenPyXLは、データの整合性を維持し、情報を効果的に整理するために重要な、データの検証と並べ替えのためのツールを提供します。 また、データをフィルタリングする機能も備えており、エクセルファイル内の大量のデータを簡単に管理できる。
オープンソースライブラリであるOpenPyXLは、活気あるコミュニティによる継続的な貢献の恩恵を受けており、適切で機能豊富な状態を維持しています。 このようなコミュニティの関与により、ライブラリを使用する開発者に膨大なリソースとサポートが提供される。
IronXLは、Microsoft Excelを使わずにExcelファイルを操作するために設計された堅牢なPython用ライブラリです。 Python 環境で様々なExcelタスクを直接処理できるシンプルさと有効性が支持されている。
IronXLは、次のような機能を簡素化します。 エクセルフォーマットの作成、読み込み、保存 XLS、XLSX、CSVなど。 異なるExcelバージョンとの互換性を保証し、Excelデータをプログラムで管理するための包括的な機能を提供します。
IronXLを使えば、効率的にデータを並べ替えることができます、 行と列を管理するまた、セルの書式をカスタマイズすることもできます。 これには、データ型や数式の設定、さらにはセル内でのエクセル関数の実装も含まれる。
IronXL を使用することで、広範囲に及ぶ セルのスタイリング・オプションフォント、ボーダー、背景色の設定を含む。 条件付き書式設定やワークシートの印刷オプション設定など、エクセルの高度な機能をサポートし、エクセルのレポートの読みやすさと見栄えを向上させます。
このライブラリは、メタデータの編集、アクセス権の管理、ファイルのパスワード保護に対応しており、機密データを確実に保護します。
IronXLは、Windows、macOS、Linuxを含む複数のオペレーティングシステムで動作するように設計されており、開発者は互換性の問題なしにさまざまなプラットフォームにアプリケーションを展開できます。
IronXLは、シート範囲と個々のセルを処理するための堅牢な機能を提供します。 セル範囲の結合、コピー、操作が簡単にできます。 この機能により、複雑なデータ設定の管理が簡素化される。
IronXLはデータベースやデータソースとシームレスに統合します。 Excelファイルとのデータのインポートとエクスポートをサポートしています。 この機能は、動的なデータ報告と分析を必要とするアプリケーションには不可欠である。
IronXL と OpenPyXL ライブラリのテストを始めるには、Python 用のプロジェクトを Visual Studio Code でセットアップする必要があります。
始める前に、Visual Studio Codeがコンピューターにインストールされていることを確認してください。 また、Visual Studio Code用のPython拡張機能とともに、Pythonがインストールされている必要がある。 この拡張機能は、Visual Studio CodeのExtensionsビューから直接追加できます。
プロジェクトのワークスペースとなる新しいフォルダをシステム上に作成することから始めます。 VSコードの「ファイル」メニューから「フォルダを開く」オプションを使えば簡単にできる。
Visual Studio Codeでは、依存関係をきれいに管理するために仮想環境をセットアップすることをお勧めします。 これは、Visual Studio Codeに統合されたターミナルを使用して行うことができます。 Visual Studio Codeは、このプロセスを簡素化するためのPythonエクステンションのインターフェースも提供しています。 Pythonエクステンションのコマンドパレットを通して、手動でコマンドを入力することなく、仮想環境を作成し、起動することができる。
VSコードでCtrl+Shft+Pを押して、"Python "を検索する:環境の作成」を検索してクリックします。
ドロップダウンリストから環境タイプを選択します。ここでは「.venv」とします:
その後、Pythonインタプリタのパスを選択します:
フォルダ内に仮想Python環境が作成されます。
IronXLライブラリのVisual Studio Codeへのインストールは簡単です。 IronXLはMicrosoft Officeをインストールする必要がなく、.NETフレームワーク上で動作するので特に便利です。
前 IronXLのインストールPythonとVisual Studio Codeがすでに設定されていることを確認してください。 IronXLは.NETテクノロジーに依存しているため、マシンに.NET 6.0ランタイムをインストールすることが重要です。 LinuxやmacOSなど、まだ.NETが搭載されていないシステムでは、.NETの公式サイトからダウンロードする必要があるかもしれない。
IronXLをインストールするには、Python用ライブラリのインストールを簡素化するpipパッケージマネージャを使用します。 Visual Studio Codeのターミナルで以下の手順に従ってください:
ターミナルを開きます:ターミナルを開く:Visual Studio Codeからターミナルにアクセスするには、Ctrl+のショートカットを使用するか、トップメニューからTerminal > New Terminal**に移動します。
pip install IronXL
上記のコードコマンドは、IronXL ライブラリをダウンロードし、その動作に必要な依存関係とともにインストールします。
from ironxl import *
エラーが表示されなければ、ライブラリは正常にインストールされ、使用できる状態になっている。
IronXLのインストール中に依存関係や.NETとの互換性に関する問題が発生した場合は、IronXLのドキュメントで指定されているすべてのシステム要件が満たされていることを確認してください。 お使いのオペレーティング・システムによっては、システム・パスを調整したり、追加のサポート・ライブラリをインストールする必要があるかもしれません。
これらの指示に従うことで、IronXLがVisual Studio CodeのPython環境にインストールされ、Pythonプロジェクト(Python)内でのExcelファイル操作やデータ処理機能が強化されます。
OpenPyXLのインストールは、Pythonのパッケージインストーラであるpipを使って行うことができます。 他の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は、Excelファイル操作を強化するために設計された包括的なPythonライブラリです。 このツールは、Pythonアプリケーション内でExcelファイルを作成、編集、管理するプロセスを簡素化し、基本的な表計算操作から高度なデータ処理まで、様々なニーズに応える機能を提供します。
IronXLはXLS、XLSX、CSVといった様々なエクセルフォーマットを扱うことができます。ユーザーはこれらのフォーマットからサンプルデータを簡単にインポートしたり、ワークシートをエクスポートしたりすることができます。 アクティブ・シートを選択して、特定のシートで作業することもできます。
from ironxl import * workbook = WorkBook.Load("sample.csv")
workbook2 = WorkBook.Load("sample.xlsx")
workbook3 = WorkBook.Load("sample.xls")
ライブラリはサポートしています エクセルの数式エクセルシート内で計算ができる。 シートが編集されるたびに計算式が自動的に再計算され、データの一貫性と正確性が保証されます。
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ではセルの書式設定オプションが豊富に用意されています。 ユーザーは、エクセルのスプレッドシートで直接コードを使ってフォント、サイズ、背景、ボーダー、配置を調整することができます。 この機能は、特定のスタイルガイドラインを必要とするデータプレゼンテーションやレポートの作成に役立ちます。
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は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 は、以下の機能をサポートしています。 行と列の繰り返し ワークブックの複数ページにまたがる。 これは、エクセル文書のすべての印刷ページに表示される必要があるヘッダーやフッターを作成し、一貫した表示と読みやすさを確保するのに便利です。
# 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には、複数のセルをマージして、1つの大きなセルを作成する機能があります。 また、必要に応じて、これらの細胞の統合を解除したり、個々の細胞に戻したりすることもできる。
セルにコメントを読み書きできるので、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は強力なサポートオプションを提供します。 開発者は、包括的なFAQセクション、オンライン上の詳細なドキュメント、および電子メールによる直接サポートにアクセスできます。 より複雑な問い合わせや緊急のサポートについては、同社のエンジニアリング・チームに直接連絡するオプションがある。
ドキュメント: OpenPyXLのドキュメントは綿密でよく整理されており、開発者が使い始めるところから、チャート、エラーメッセージ付きのデータ検証、条件付き書式のような高度な機能まで、すべてのガイドを提供しています。 ドキュメントには詳細な説明とコード・スニペットが含まれており、初めてのユーザーにも経験豊富なユーザーにも役立ちます。
サポート: OpenPyXLは、主に公式リポジトリ上のコミュニティフォーラムと課題追跡を通してサポートを提供します。 開発者はGitHubに課題を投稿し、ライブラリに貢献することができる。
IronXLは、以下のものを提供します。 永久ライセンス さまざまなプロジェクトのニーズに合わせたオプションが用意されており、開発者は継続的なコストをかけることなく、さまざまな環境でライブラリを使用できる。
プロフェッショナル・ライセンス: 2,999ドルで、最も包括的なパッケージであり、10人の開発者、10カ所、10プロジェクトをサポートします。 Plusライセンス(プラスライセンス)と同じサポートオプションに加え、詳細なサポートのための画面共有サポートが提供されます。
その他のオプションは以下の通り:
製品サポートとアップデートの延長: 開発者は、1年間の無料オプションまたは499ドルの5年間パッケージで継続的なサポートとアップデートを選択できます。これには、セキュリティ機能のアップグレードとエンジニアリングチームからの直接サポートが含まれます。
各ライセンスには30日間の返金保証がついており、開発者はIronXLをリスクなくテストすることができます。 このようなライセンス条件により、IronXLはさまざまな範囲や規模のプロジェクトに柔軟に対応し、さまざまな専門的な場面で実施するための明確な道筋を提供します。
OpenPyXLは、寛容なフリーソフトウェアライセンスであるMITライセンスの下で配布されています。 つまり、オープンソースとプロプライエタリ・ソフトウェアの両方で、かなり自由な使い方ができるということだ。 MITライセンスは、ライセンスされたソフトウェアのすべてのコピーにMITライセンスの条項と著作権表示のコピーが含まれていることを条件に、プロプライエタリ・ソフトウェア内での再利用を許可する。
IronXLとOpenPyXLのレビューでは、それぞれの機能、使いやすさ、サポートオプション、ライセンスについて見てきました。 どちらのライブラリもエクセルファイルの管理に優れているが、それぞれ異なるニーズに対応している。
IronXLは、Microsoft Officeを必要とせずにエクセルの複雑な操作を可能にする豊富な機能を備えています。詳細なドキュメントと強力なテクニカルサポートを提供しており、大規模なプロジェクトや企業にとって信頼できる選択肢となっています。 データサイエンティストは、IronXLをデータコピー、データマイニング、データ分析、その他多くのタスクのような複数の目的で使用します。 IronXL のライセンスは $749 からですが、無料トライアルが含まれています。 このトライアルにより、開発者は購入前にIronXLの機能を十分に試すことができ、これは本格的なプロジェクトにとって大きな利点となる。
OpenPyXLはまた、特に折れ線グラフや条件付き書式のような高度なExcel機能を備えています。 MITライセンスで提供されており、オープンソースでも商用でも柔軟に利用できる。 サポートはコミュニティ主導で、それは素晴らしいことだが、IronXLが提供するような体系的なサポートはない。
もしあなたのプロジェクトがプロフェッショナルで継続的なサポートとともにハイレベルな機能を必要とするならば、IronXL がより良い選択です。初期費用はかかるかもしれませんが、特に複雑なプロジェクトや長期的なプロジェクトでは、そのメリットとセキュリティのために投資する価値はあります。
9つの .NET API製品 オフィス文書用