エクセルツール

PythonでExcelファイルを書く方法

チャクニット・ビン
チャクニット・ビン
2024年3月6日
共有:

イントロダクション

Excelファイルは、さまざまな分野でデータ分析、レポート作成、および保存に不可欠です。 Pythonの幅広いオープンソースモジュールエコシステムのおかげで、開発者はプログラムによってExcelファイルを生成する際に多くの選択肢があります。 これらのライブラリは、幅広いユースケースと好みをサポートし、Excelドキュメントに対して高レベルの抽象化と細かい制御の両方を提供します。

これにより、開発者はExcel関連のプロセスを簡単に自動化し、動的なレポートを作成し、データをエクスポートすることができます。 IronXLがC#でExcelファイルを作成する際に、Pythonライブラリの強力な代替手段である理由について見ていきます。

その機能、使いやすさ、性能上の利点を検討し、その機能を強調する役立つコードサンプルを提示します。 また、さまざまなオープンソースライブラリを使用してPythonでExcelファイルを作成することも可能です。

PythonでExcelファイルを書く方法

  1. 必要なライブラリをインポートします。

  2. データを準備するか、いくつか提供してください。

  3. Workbook または Data Frame と呼ばれるオブジェクトを作成します。

  4. オブジェクト内にデータを入れてください。

  5. 適切な手法を利用して、オブジェクトをExcelファイルに保存します。

  6. どのような形式またはカスタマイズを行うかは、あなたの裁量に任せます。

パンダス

使いやすく多用途であると評判のPandasは、強力なPythonデータ操作パッケージです。 Pandasは主にデータフレームに焦点を当てていますが、Excelファイルの作成機能も備えています。

開発者はto_excel() API を使用して、DataFrame を簡単に Excel 形式にエクスポートできます。 彼らはDataFrameを使用して、個別のシートにエクスポートすることさえできます。

ExcelWriter オブジェクトファイルのパスは、出力が保存される場所です。 Python の表データは、Pandasのデータフォーマット、インデックスの可視性、およびシート名のオプションを使用して簡単にExcelファイルに変換できます。

PythonでExcelファイルに書き込む方法: 図1

xlwt

このライブラリを使用すると、旧式の.xls形式のExcelファイルにデータと書式情報を書き込むことができます。 Xlwt は、たとえ積極的に開発されていなくても、古いExcelバージョンやレガシーシステムとの互換性が必要な状況では、依然として有用なソリューションです。

開発者は、xlwtの機能を使用してセルにデータを書き込み、ワークシートを追加し、Workbookオブジェクトを構築することができます。 XlwtはPythonでExcelファイルを作成するための基本的な機能を提供しますが、より最近のツールと比較して制限があります。

PythonでExcelファイルを書き込む方法: 図2

Tablib

この柔軟なライブラリは、Excelを含むさまざまな形式の表データを処理できます。 Tablib はデータ処理とシリアル化に主に注力しているものの、データをExcel形式でエクスポートする機能があります。

以下は日本語への翻訳です:

Tablibが提供するメソッドにより、開発者は簡単にDatasetオブジェクトを構築し、データを追加してExcelファイルにエクスポートすることができます。 Tablibの汎用性とユーザーフレンドリーさにより、シンプルなExcelファイルの作成を含むPythonのジョブに適しています。

PythonでExcelファイルに書き込む方法: 図3

eZodf

スプレッドシートおよびその他のOpenDocument Format(ODF)ファイルは、ezodfライブラリを使用して扱うことができます。 Excelファイル用に設計されているわけではありませんが、ezodfはPythonユーザーにスプレッドシートドキュメントを作成し、操作する能力を提供します。

開発者は、ワークシートを追加し、Excelシートのセルにプログラム的にデータを書き込むことができ、ezodfの技術を使用してODS(OpenDocument Spreadsheet)ファイルを生成することができます。 それほど人気がないかもしれませんが、ezodfはPythonでスプレッドシートドキュメントを扱う際に、Excelファイルを作成するオプションを提供しています。

PythonでExcelファイルに書き込む方法: 図4

pyxlsb

Pythonパッケージのpyxlsbは、Excel バイナリ ワークブック (.xlsb) ファイルの読み書きに使用されます。 ワークシートの追加、バイナリExcel形式のセルへのデータ書き込み、およびWorkbookオブジェクトの生成などの機能を提供します。

.xlsxや.xlsほど広くサポートされていないものの、.xlsbファイルのサポートはpyxlsbによって提供されています。pyxlsbは、バイナリ形式のExcelファイルを操作するためのPython機能を提供し、Excelのバイナリ形式との互換性が必要な特定のユースケースに対応しています。

PythonでExcelファイルを書く方法: 図5

IronXL

IronXLは、Excelファイルを操作するための機能豊富なC#ライブラリです。 IronXLは、Iron Softwareによって作成され、Excelドキュメントを動的に生成、フォーマット、および記入するための包括的な機能を提供します。 IronXLは、使いやすいAPIと充実したドキュメントにより、C#でのExcel操作をスムーズにすることで、開発者に快適な体験を提供します。

IronXLの機能

  • Excelに対する広範なサポート: IronXLは、多くのExcel形式のExcelファイルをさまざまな形式で開くことができ、csv、file、xlsファイル、およびxlsxファイルを含めて操作できます。 IronXLの強力な解析機能により、開発者は旧式および最新のExcelファイルの両方を使用して、既存のExcelファイルからデータを効率的に抽出できます。
  • 高速度:IronXLは速度の最適化を最優先しています。 信頼性が高く高速なExcel操作を提供するために、効果的なアルゴリズムとメモリ管理技術が使用されています。 IronXLは最適化された処理速度とメモリオーバーヘッドの削減を提供するため、開発者は大規模なExcelファイルを容易に扱うことができます。
  • シンプルで使いやすいAPI: IronXLは、わかりやすくユーザーフレンドリーなAPIのため、さまざまな経験レベルの開発者に適しています。 Excelファイルの読み取り、Excelワークブックへのアクセス、セルからのデータ取得のための簡単な方法を提供することで、IronXLはC#開発者の学習曲線を低減し、既存ファイルの作成と読み取りプロセスを簡略化します。
  • 細かい制御: 他の高レベルのライブラリとは異なり、IronXLは開発者にExcelドキュメントに対する細かい制御を提供し、Excelスプレッドシートのセルレベルでの操作を可能にします。 開発者は特定のセル、行、列、スプレッドシートにアクセスできるため、必要に応じてデータを正確に抽出および変更することができます。
  • クロスプラットフォーム互換性: IronXLはWindows、Linux、macOSなどのさまざまなオペレーティングシステムで動作し、クロスプラットフォームのC#開発に適しています。 デスクトップ、ウェブ、またはモバイルアプリケーションを開発する際、開発者はIronXLを利用することで、さまざまなコンテキストで一貫したExcelとのインタラクションを提供できます。

    IronXL のドキュメントについて詳しくは、こちらをご覧ください。

IronXLのインストール

これらの指示およびコマンドラインを使用してIronXLをインストールしてください。

Visual Studioで、[ツール] -> [NuGet パッケージ管理] -> [パッケージ マネージャー インターフェイス]に移動します。

パッケージマネージャーコンソールタブに次のコードを入力してください:

pip install IronXL

ファイルは、現在のプロジェクトにダウンロードしてインストールされた後、使用可能になります。

C#でIronXLを使用してExcelデータの書き込み

それでは、実際のコードサンプルを見てみましょう。C#でIronXLを使用してExcelドキュメントにデータを記入する方法を示します。 新しいExcelワークブックを開き、ワークシートにデータを入力し、ファイルにデータを保存する方法を示します:

using IronXL;
class Program
{
    static void Main(string [] args)
    {
        // Create a new WorkBook object
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        // Add a new WorkSheet to the workbook
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");
        // Define sample data
        string [,] data = {
            { "Name", "Age", "City" },
            { "John ", "25", "New York" },
            { "Smith", "30", "Los Angeles" },
            { "Johnson", "35", "Chicago" }
        };
        // Populate the worksheet with data
        for (int row = 0; row < data.GetLength(0); row++)
        {
            for (int col = 0; col < data.GetLength(1); col++)
            {
                workSheet.SetCellValue(row, col,data [row, col]);
            }
        }
        // Save the workbook to a  xlsx file
        workBook.SaveAs("Demo.xlsx");
        // Close the workbook
        workBook.Close();
    }
}
PYTHON

IronXLのCreate()関数を使用して、このコードサンプルでは新しいWorkBookオブジェクトを作成し、必要なExcelファイルタイプ(この場合、.xlsx)を指定します。 次に、新しいワークシートを作成し、2次元の配列内にいくつかのサンプルデータを記述します。

次に、入れ子になったループを使用してスプレッドシート内のさまざまなセルの値にアクセスし、サンプルデータで埋めるためにそれらの値を設定します。

最後に、SaveAs() 関数を使用して、ワークブックをターゲットファイル名「SampleData.xlsx」に保存し、システムリソースを解放するためにワークブックを閉じます。 同様に、ターゲットファイルに複数のシートを作成することができます。

以下は生成されたExcelファイルです。Excelファイルの書き方について詳しく知りたい場合は、こちらを参照してください。

PythonでExcelファイルを書く方法:図6

結論

Pythonは、幅広いニーズや好みに応えるために、プログラムによってExcelファイルを作成するための無料かつオープンソースのライブラリを多数提供しています。 これらのライブラリを使用すると、タブデータを扱う場合であっても、レポートを作成する場合であっても、データをExcelにエクスポートする場合であっても、Excelの書き込みタスクを迅速かつ効果的に実行できます。

IronXLはC#開発者にとってMicrosoft Excelの強力な代替品であり、Excelの完全なサポート、優れた速度、そして.NETフレームワークとの円滑なインターフェースを提供します。 IronXLは、その使いやすいAPIとExcelドキュメントに対する詳細な制御により、C#でのExcel作成をより簡単にします。

これにより、開発者は動的なレポートを作成し、データをエクスポートし、Excel関連の操作を自動化することが容易になります。 C# 開発者は IronXL を利用して Excel に関連する操作を最適化し、デスクトップ、オンライン、またはモバイルアプリ用の Excel ファイルを作成するかどうかにかかわらず、C# アプリケーションで Excel の全機能を活用することができます。

IronXLは、$749で発売されています。 ユーザーは、更新および製品サポートを受け取るために、1年間のメンバーシップ料金を支払うことを選択することもできます。IronXLは、追加料金で無制限の再配布に対する保護を提供します。 このページを訪れて、概算コストについて詳しく学んでください。Iron Softwareについて詳しく知るにはこちらをご覧ください。

チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。
次へ >
Pythonを使用してExcelファイルを読み取る方法