透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
プログラムを使ってExcelスプレッドシートを変更することは、主に2つの理由で難しいことがあります。 まず、スプレッドシートを扱う際には、一貫したインターフェースと文書構造を維持する必要がありますが、これは常に簡単ではありません。 第二に、特に高度な計算が関わる場合、特定の状況でどのコードが機能するのかが必ずしも明確ではありません。 プログラムによってExcelファイルを作成することが難しい理由は数多くあります。 プログラマーはまずExcelドキュメント内のデータを読み取り可能な形式に変換し、その後そのデータを解析して再度解析し直す必要があるため、さらに困難です。 私はこの問題の解決策を考え出しました。 IronXL .NET Excel ライブラリを使用して、問題なくExcelファイルを作成し、プログラムでDataTableをExcelシートにエクスポートする方法を教えます。 始めましょう:
DataTable
のDataRow
を通して反復処理を行うCell
のValue
プロパティにアクセスして、DataRow
からワークシートにデータを入力するIronXLライブラリを使用するには、Visual Studioで.NETプロジェクトを作成する必要があります。 Visual Studioの任意のバージョンを使用できますが、最新バージョンを推奨します。 要件に応じて、Windows Forms のようなアプリケーションやさまざまなプロジェクトテンプレートを作成することができます。 このチュートリアルでは、簡潔さのためにコンソール アプリケーションを使用します。
Visual Studioで新しいプロジェクトUIを作成する
次に、プロジェクト名とプロジェクトの場所を入力してください。
新しいプロジェクトを作成する際の設定手順
次に、以下のフレームワークを選択してください。 このプロジェクトでは、.NET Core 6を使用します。
.Net Framework 選択UI
アプリケーションがソリューションを作成すると、program.csファイルが開かれ、コードを入力してアプリケーションをビルド/実行することができます。
新しいプロジェクトのprogram.csファイルが空です
次に、コードをテストするためにライブラリを追加します。
IronXLライブラリは、4つの方法でダウンロードおよびインストールできます。
これらは:
私たちはNuGetパッケージマネージャーを使用してIronXLライブラリをインストールすることができます。 まず、NuGet パッケージ マネージャーを開き、ブラウズタブで IronXL を検索する必要があります。 検索結果からIronXLを選択してインストールしてください。 その後、プロジェクトはIronXLライブラリで使用できるようになります。
以下のスクリーンショットは、Visual StudioでNuGetパッケージマネージャーを開く方法を示しています。
Visual StudioのNuGet パッケージ マネージャーに移動する
検索結果のIronXL:
IronXLライブラリを検索
多くの人々は操作を行うためにコンソールを使用することを好みます。 したがって、コンソールからもインストールすることができます。 以下の手順に従って、コマンドラインからIronXLをインストールしてください。
Install-Package IronXL.Excel
現在、パッケージは現在のプロジェクトにダウンロード/インストールされ、使用できるようになります。
コンソールを介してIronXLパッケージをインストール
3つ目の方法は、ウェブサイトから直接NuGetパッケージをダウンロードすることです。
リンクをクリックして、最新のパッケージをウェブサイトから直接ダウンロードしてください。ダウンロードが完了したら、以下の手順に従ってプロジェクトにパッケージを追加します。
IronXLは、少ない手順でDatatablesをExcelファイルに簡単にエクスポートすることができます。
まず、以下のコード画面のようにIronXLの名前空間を含める必要があります。 追加されたら、IronXL のクラスとメソッドをコードで使用できます。
ライブラリを使用する前にIronXLのnamespace
を含めます
IronXLを使用すると、Excelファイルを作成し、それらをワークブックオブジェクトに変換することができます。 オブジェクトに変換した後、さまざまな種類の操作を実行することができます。 以下のサンプルコードでは、Datatable を Excel ワークシートに変換し、その後 Excel ファイルを作成します。
public static void ExportToExcel(string filePath)
{
DataTable table = new DataTable();
table.Columns.Add("DataSet_Animal", typeof(string));
table.Rows.Add("Lion");
table.Rows.Add("Tiger");
table.Rows.Add("Cat");
table.Rows.Add("Goat");
table.Rows.Add("Panther");
table.Rows.Add("Fox");
table.Rows.Add("Cheetah");
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
ws ["A" + (rowCount)].Value = row [0].ToString();
rowCount++;
}
wb.SaveAsCsv(filePath, ";");
}
public static void ExportToExcel(string filePath)
{
DataTable table = new DataTable();
table.Columns.Add("DataSet_Animal", typeof(string));
table.Rows.Add("Lion");
table.Rows.Add("Tiger");
table.Rows.Add("Cat");
table.Rows.Add("Goat");
table.Rows.Add("Panther");
table.Rows.Add("Fox");
table.Rows.Add("Cheetah");
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
ws ["A" + (rowCount)].Value = row [0].ToString();
rowCount++;
}
wb.SaveAsCsv(filePath, ";");
}
Public Shared Sub ExportToExcel(ByVal filePath As String)
Dim table As New DataTable()
table.Columns.Add("DataSet_Animal", GetType(String))
table.Rows.Add("Lion")
table.Rows.Add("Tiger")
table.Rows.Add("Cat")
table.Rows.Add("Goat")
table.Rows.Add("Panther")
table.Rows.Add("Fox")
table.Rows.Add("Cheetah")
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
Dim ws As WorkSheet = wb.DefaultWorkSheet
Dim rowCount As Integer = 1
For Each row As DataRow In table.Rows
ws ("A" & (rowCount)).Value = row (0).ToString()
rowCount += 1
Next row
wb.SaveAsCsv(filePath, ";")
End Sub
上記のコードでは、データテーブルをExcelファイルにエクスポートしています。まず、DataTable
を作成し、その後に列ヘッダーを作成しています。 列を作成した後、列を一つ一つ追加します。 列を追加したら、次にWorkBook
オブジェクトを作成します。 オブジェクトを使用することにより、データをExcelシートに追加し、その後、データを指定の場所に保存することができます。 私たちはWorkSheet
オブジェクトを作成しています。これはワークシートの作成を可能にし、その後、このワークシートをWorkBook
オブジェクトに追加できます。
データテーブルの値を一つずつ読み込むためにforeach
ループを使用し、その後ワークシートに値を追加します。 すべての値がワークシートに追加されたら、SaveAsCSVというメソッドを使用してそれらをCSVファイルに保存します。パラメーターとして区切り文字とファイル名、場所を指定する必要があります。 区切り文字は、必要ない場合は無視できるオプションのパラメータです。
Visual Studioで完成したコード
上記は、私たちが .NET Core 6 で使用しているコードの完全なスクリーンショットです。
結果:
Microsoft Excelでファイルを開いたときの結果
上記は、実行されたコードサンプルの結果です。 スクリーンショットでは、データテーブルに存在するすべてのデータが、新しく作成されたExcelシートに一つずつ追加されています。
IronXLは最も一般的に使用されるExcelライブラリの一つです。 他のサードパーティライブラリに依存しません。 それは独立しており、MS Excelをインストールする必要がありません。 複数のプラットフォームで動作します。 IronXLの導入価格は$749から始まります。 また、製品サポートと更新に対する1年間の料金オプションを提供しています。 IronXLは、追加費用でロイヤリティーフリーの再配布をカバーしています。価格の詳細については、ライセンスページをご覧ください。