.NET のワークシートからデータをエクスポート

概要

この記事では、C# を使用して Worksheet データを DataTable にエクスポートする方法について説明します。次のトピックについて説明します。

フォーマット: エクセル

フォーマット: XLS

フォーマット: XLSX

フォーマット: ODS

C# Excel データのエクスポート

ワークシートからデータをエクスポート

Aspose.Cells は、ユーザーが外部データ ソースからワークシートにデータをインポートできるようにするだけでなく、ワークシート データをデータ表.私たちが知っているようにデータ表ADO.NET の一部であり、データを保持するために使用されます。データがデータ表、ユーザーの要件に応じて任意の方法で使用できます。開発者は、このデータを保存することもできます (データ表 )必要に応じてデータベースに直接。したがって、ワークシート データをデータ表.

Aspose.Cells を使用してデータを DataTable にエクスポートする

開発者は、ワークシート データを簡単にエクスポートできます。データ表いずれかを呼び出してオブジェクトExportDataTableまたExportDataTableAsStringの方法Cellsクラス。どちらの方法も、以下で詳しく説明するさまざまなシナリオで使用されます。

厳密に型指定されたデータを含む列

スプレッドシートはデータを一連の行と列として保存することがわかっています。ワークシートの列のすべての値が厳密に型指定されている場合 (つまり、列のすべての値が同じデータ型である必要があることを意味します)、ExportDataTableの方法Cellsクラス。ExportDataTableメソッドは、次のパラメーターを使用して、ワークシート データを次のようにエクスポートします。データ表物体:

  • 行番号からエクスポートされる最初のセル データの行番号。
  • 列番号、データがエクスポートされる最初のセルの列番号。
  • 行の数、エクスポートする行数。
  • 列の数、エクスポートする列の数。
  • 列名のエクスポート、ワークシートの最初の行のデータを列名としてエクスポートする必要があるかどうかを示すブール型プロパティデータ表か否か。

手順: データを DataTable にエクスポートする

コードステップ:

  1. Excelファイルをロードしますワークブック物体。
  • ワークブックオブジェクトは、XLS、XLSX、XLSM、ODS などの Excel ファイル形式をロードできます。
  1. 最初にアクセスするワークシートエクセルファイルで。
  2. エクスポート領域を選択します (例: 1 番目のセルから始まる 7 行 2 列)。データ表. 5.使用ExportDataTableデータを DataTable にエクスポートするメソッド。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
string filePath = dataDir + "Book1.xlsx";
// Instantiating a Workbook object
Workbook workbook = new Workbook(filePath);
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.Worksheets[0];
// Exporting the contents of 7 rows and 2 columns starting from 1st cell to DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0, 11, 2, true);
foreach (DataRow r in dataTable.Rows)
{
foreach (DataColumn c in dataTable.Columns)
{
Double value = r.Field<Double>(c);
Console.Write(value + " ");
}
Console.WriteLine();
}

厳密に型指定されていないデータを含む列

ワークシートの列のすべての値が厳密に型指定されていない場合 (つまり、列の値のデータ型が異なる可能性があることを意味します)、ExportDataTableAsStringの方法Cellsクラス。ExportDataTableAsStringメソッドは、ExportDataTableワークシート データをデータ表物体。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
string filePath = dataDir + "Book1.xlsx";
// Instantiating a Workbook object
Workbook workbook = new Workbook(filePath);
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.Worksheets[0];
// Exporting the contents of 7 rows and 2 columns starting from 1st cell to DataTable
DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 11, 2, true);
foreach (DataRow r in dataTable.Rows)
{
foreach (DataColumn c in dataTable.Columns)
{
string value = r.Field<string>(c);
Console.Write(value + " ");
}
Console.WriteLine();
}

列名をスキップするフラグ付きのエクスポート範囲

範囲からのデータをエクスポートできますデータ表エクスポートされたデータのヘッダー行をスキップするフラグが利用可能です。次のコードは、データの範囲をにエクスポートしますデータ表引数付きExportTableOptionsを含むエクスポート列名国旗。に設定されています真実ヘッダー情報がある場合、それはデータに含まれず、に設定されます間違いヘッダーがなく、すべての行がデータと見なされる場合。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string sourceDir = RunExamples.Get_SourceDirectory();
// Instantiating a Workbook object
Workbook workbook = new Workbook(sourceDir + "Names.xlsx");
// Instantiating a WorkbookDesigner object
WorkbookDesigner designer = new WorkbookDesigner(workbook);
// Accessing the range having name "Names"
var range = designer.Workbook.Worksheets.GetRangeByName("Names");
// Instantiating the ExportTableOptions object
ExportTableOptions options = new ExportTableOptions();
// Setting the ExportColumnName flag to true shows that first line is header and not part of data
options.ExportColumnName = true;
// Exporting data with the selected information
var dataTable = range.ExportDataTable(options);

先行トピック