ドキュメントからデータをインポート
ドキュメントからデータをインポートする
データは未加工の事実の集まりであり、これらの未加工の事実をより意味のある方法で提示するために、スプレッドシート ドキュメントまたはレポートを作成します。通常、自分でスプレッドシートにデータを追加しますが、既存のデータ リソースを再利用する必要がある場合があり、さまざまなデータ ソースからスプレッドシートにデータをインポートする必要があります。このトピックでは、さまざまなデータ ソースからワークシートにデータをインポートするいくつかの手法について説明します。
Aspose.Cells を使用したデータのインポート
使用するときAspose.CellsExcel ファイルを開くと、ファイル内のすべてのデータが自動的にインポートされますが、Aspose.Cells はさまざまなデータ ソースからのデータのインポートもサポートしています。これらのデータ ソースのいくつかを以下に示します。
- 配列
- 配列リスト
- データ表
- データ列
- データビュー
- データグリッド
- データリーダー
- グリッドビュー
Aspose.Cells はクラスを提供し、ワークブックこれは Excel ファイルを表します。 Workbook クラスには、Excel ファイル内の各ワークシートにアクセスできる Worksheets コレクションが含まれています。ワークシートは Worksheet クラスによって表されます。 Worksheet クラスは Cells コレクションを提供します。
Cells コレクションは、さまざまなデータ ソースからデータをインポートするための非常に便利な方法を提供します。
アレイからのインポート
開発者は、配列からワークシートにデータをインポートするには、ImportArray Cells コレクションのメソッド。 ImportArray メソッドにはオーバーロードされたバージョンが多数ありますが、典型的なオーバーロードは次のパラメーターを取ります。
- 配列は、内容をインポートする必要がある配列オブジェクトを表します
- 行番号は、データがインポートされる最初のセルの行番号を表します
- 列番号は、データがインポートされる最初のセルの列番号を表します
- データを垂直方向または水平方向にインポートするように指定するブール値です。
//Instantiating a Workbook object
Workbook workbook = new Workbook();
//Adding a new worksheet to the Workbook object
int i = workbook.Worksheets.Add();
//Obtaining the reference of the newly added worksheet by passing its sheet index
Worksheet worksheet = workbook.Worksheets[i];
//Creating an array containing names as string values
string[]names = new string[]{ "laurence chen", "roman korchagin", "kyle huang" };
//Importing the array of names to 1st row and first column vertically
worksheet.Cells.ImportArray(names, 0, 0, true);
//Saving the Excel file
workbook.Save(MyDir+"DataImport from Array.xls");
ArrayList からのインポート
開発者は、ArrayList からワークシートにデータをインポートするには、ImportArrayList Cells コレクションのメソッド。 ImportArray メソッドは、次のパラメーターを取ります。配列リスト 、内容をインポートする必要がある ArrayList オブジェクトを表します
- Row Number は、データがインポートされる最初のセルの行番号を表します
- 列番号 は、データがインポートされる最初のセルの列番号を表します
- Vertical 、データを垂直または水平にインポートするように指定するブール値
//Instantiating a Workbook object
Workbook workbook = new Workbook();
//Adding a new worksheet to the Workbook object
int i = workbook.Worksheets.Add();
//Obtaining the reference of the newly added worksheet by passing its sheet index
Worksheet worksheet = workbook.Worksheets[i];
//Instantiating an ArrayList object
ArrayList list = new ArrayList();
//Add few names to the list as string values
list.Add("laurence chen");
list.Add("roman korchagin");
list.Add("kyle huang");
list.Add("tommy wang");
//Importing the contents of ArrayList to 1st row and first column vertically
worksheet.Cells.ImportArrayList(list, 0, 0, true);
//Saving the Excel file
workbook.Save(MyDir + "DataImport from Array List.xls");
カスタム オブジェクトからのインポート
開発者は、オブジェクトのコレクションからワークシートにデータをインポートできます。ImportCustomObjects.メソッドに列/プロパティのリストを指定して、必要なオブジェクトのリストを表示できます。
//Instantiate a new Workbook
Workbook book = new Workbook();
//Clear all the worksheets
book.Worksheets.Clear();
//Add a new Sheet "Data";
Worksheet sheet = book.Worksheets.Add("Data");
//Define List
List<WeeklyItem> list = new List<WeeklyItem>();
//Add data to the list of objects
list.Add(new WeeklyItem() { AtYarnStage = 1, InWIPStage = 2, Payment = 3, Shipment = 4, Shipment2 = 5 });
list.Add(new WeeklyItem() { AtYarnStage = 5, InWIPStage = 9, Payment = 7, Shipment = 2, Shipment2 = 5 });
list.Add(new WeeklyItem() { AtYarnStage = 7, InWIPStage = 3, Payment = 3, Shipment = 8, Shipment2 = 3 });
//We pick a few columns not all to import to the worksheet
sheet.Cells.ImportCustomObjects((System.Collections.ICollection)list,
new string[]{ "Date", "InWIPStage", "Shipment", "Payment" },
true,
0,
0,
list.Count,
true,
"dd/mm/yyyy",
false);
//Auto-fit all the columns
book.Worksheets[0].AutoFitColumns();
//Save the Excel file
book.Save(MyDir+"ImportedCustomObjects.xls");
DataTable からのインポート
開発者は、データ表を呼び出してワークシートにImportDataTableCells コレクションのメソッド。には多くのオーバーロードされたバージョンがありますImportDataTableメソッドですが、典型的なオーバーロードは次のパラメーターを取ります。データ表は、データ表コンテンツをインポートする必要があるオブジェクト
- フィールド名は表示されますかは、DataTable の列の名前を最初の行としてワークシートにインポートするかどうかを指定します
- スタート Cellは、DataTable の内容をインポートする開始セル (つまり “A1”) の名前を表します
//Instantiating a Workbook object
Workbook workbook = new Workbook();
//Adding a new worksheet to the Workbook object
int i = workbook.Worksheets.Add();
//Obtaining the reference of the newly added worksheet by passing its sheet index
Worksheet worksheet = workbook.Worksheets[i];
//Instantiating a "Products" DataTable object
DataTable dataTable = new DataTable("Products");
//Adding columns to the DataTable object
dataTable.Columns.Add("Product ID", typeof(Int32));
dataTable.Columns.Add("Product Name", typeof(string));
dataTable.Columns.Add("Units In Stock", typeof(Int32));
//Creating an empty row in the DataTable object
DataRow dr = dataTable.NewRow();
//Adding data to the row
dr[0]= 1;
dr[1]= "Aniseed Syrup";
dr[2]= 15;
//Adding filled row to the DataTable object
dataTable.Rows.Add(dr);
//Creating another empty row in the DataTable object
dr = dataTable.NewRow();
//Adding data to the row
dr[0]= 2;
dr[1]= "Boston Crab Meat";
dr[2]= 123;
//Adding filled row to the DataTable object
dataTable.Rows.Add(dr);
//Importing the contents of DataTable to the worksheet starting from "A1" cell,
//where true specifies that the column names of the DataTable would be added to
//the worksheet as a header row
worksheet.Cells.ImportDataTable(dataTable, true, "A1");
workbook.Save(MyDir+"Import From Data Table.xls");
サンプルコードをダウンロード
ドキュメントからデータをエクスポート
Aspose.Cells は、ユーザーが外部データ ソースからワークシートにデータをインポートできるようにするだけでなく、ワークシート データをデータ表.私たちが知っているようにデータ表ADO.NET の一部であり、データを保持するために使用されます。データがデータ表、ユーザーの要件に応じて任意の方法で使用できます。
Aspose.Cells を使用して DataTable (.NET) にデータをエクスポートする
開発者は、Cells クラスの ExportDataTable または ExportDataTableAsString メソッドを呼び出して、ワークシート データを DataTable オブジェクトに簡単にエクスポートできます。どちらの方法も、以下で詳しく説明するさまざまなシナリオで使用されます。
厳密に型指定されたデータを含む列
スプレッドシートはデータを一連の行と列として保存することがわかっています。ワークシートの列のすべての値が厳密に型指定されている場合 (つまり、列のすべての値が同じデータ型である必要があることを意味します)、ExportDataTable Cells クラスのメソッド。ExportDataTableメソッドは、次のパラメーターを使用して、ワークシート データを次のようにエクスポートします。データ表物体:行番号 、データがエクスポートされる最初のセルの行番号を表します
- 列番号、データがエクスポートされる最初のセルの列番号を表します
- 行の数、エクスポートする行数を表します
- 列の数、エクスポートする列の数を表します
- 列名のエクスポート、ワークシートの最初の行のデータを DataTable の列名としてエクスポートするかどうかを示すブール プロパティ
//Creating a file stream containing the Excel file to be opened
FileStream fstream = new FileStream(FOD_OpenFile.FileName, FileMode.Open);
//Instantiating a Workbook object
//Opening the Excel file through the file stream
Workbook workbook = new Workbook(fstream);
//Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.Worksheets[0];
//Exporting the contents of 2 rows and 2 columns starting from 1st cell to DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0,2, 2, true);
//Binding the DataTable with DataGrid
dataGridView1.DataSource = dataTable;
//Closing the file stream to free all resources
fstream.Close();
厳密に型指定されていないデータを含む列
ワークシートの列のすべての値が厳密に型指定されていない場合 (つまり、列の値のデータ型が異なる可能性があることを意味します)、ExportDataTableAsString Cells クラスのメソッド。ExportDataTableAsStringメソッドは、のと同じパラメータのセットを取りますExportDataTableワークシートデータをエクスポートするメソッドデータ表物体。
//Creating a file stream containing the Excel file to be opened
FileStream fstream = new FileStream(FOD_OpenFile.FileName, FileMode.Open);
//Instantiating a Workbook object
//Opening the Excel file through the file stream
Workbook workbook = new Workbook(fstream);
//Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.Worksheets[0];
//Exporting the contents of 2 rows and 2 columns starting from 1st cell to DataTable
DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 2, 2, true);
//Binding the DataTable with DataGrid
dataGridView2.DataSource = dataTable;
//Closing the file stream to free all resources
fstream.Close();