データをExcelにエクスポート

この記事では、配列、カスタムオブジェクトのコレクション、DataTable、DataView、DataGrid、GridView、HTML、JSON、CSVなどのさまざまなデータソースからC#およびVB.NETでExcelにデータをエクスポートする方法を紹介します。

Aspose.Cells APIを使用してC#でデータをExcelにエクスポートする

Aspose.Cells for .NETは、.NETアプリケーション内でExcelファイルを作成、編集、または変換できる強力なスプレッドシート操作APIです。 APIの使いやすいメソッドを使用すると、Excelの自動化機能を数行のコードでシームレスに実行できます。 NuGetは、Aspose.Cells API for.NETをダウンロードしてインストールする最も簡単な方法です。 [NuGetパッケージの管理]ウィンドウを開き、検索テキストボックスに「Aspose.Cells」と入力して、Aspose.Cells.NETパッケージを見つけます。最後に、[インストール]ボタンをクリックして、パッケージの最新バージョンをインストールします。

C#で配列をExcelにエクスポート

参照型または値型の配列(1次元または2次元)をExcelドキュメントにエクスポートできます。 CellsコレクションのImportArrayメソッドを使用して、配列からスプレッドシートにデータをエクスポートします。 ImportArrayメソッドのオーバーロードされたバージョンは次のとおりです。

名前説明
ImportArray(Double []、Int32、Int32、Boolean)doubleの配列をワークシートにエクスポートします。
ImportArray(Int32 []、Int32、Int32、Boolean)整数の配列をワークシートにエクスポートします。
ImportArray(String []、Int32、Int32、Boolean)文字列の配列をワークシートにエクスポートします。
ImportArray(Double [、]、Int32、Int32)doubleの2次元配列をワークシートにエクスポートします。
ImportArray(Int32 [、]、Int32、Int32)整数の2次元配列をワークシートにエクスポートします。
ImportArray(String [、]、Int32、Int32)文字列の2次元配列をワークシートにエクスポートします。

一般的な過負荷は、次のパラメーターを取ります。

  • Array、コンテンツのエクスポート元の配列オブジェクト。
  • 行番号、データがエクスポートされる最初のセル(ゼロベース)の行番号。
  • 列番号、データのエクスポート先の最初のセル(ゼロベース)の列番号。
  • 垂直、データを垂直にエクスポートするか水平にエクスポートするかを指定するブール値。

配列をC#でExcelファイルにエクスポートする手順は次のとおりです。

  • Workbookオブジェクトを作成します。 Workbookクラスは、MicrosoftExcelファイルを表します。
  • 目的のワークシートへの参照を取得します。 Workbookクラスには、Excelファイル内の各ワークシートにアクセスできるWorksheetsコレクションが含まれています。
  • CellsコレクションのImportArrayメソッドを呼び出して、指定した行と列のワークシートに配列をエクスポートします。 Worksheetクラスは、Cellsコレクションを提供します。
  • Workbook.Save(string)メソッドを使用してExcelファイルを保存します。

次のコードサンプルは、文字列の配列をC#のExcelファイルにエクスポートする方法を示しています。

// Instantiating a Workbook object
Workbook workbook = new Workbook();

// Obtaining the reference of the worksheet
Worksheet worksheet = workbook.Worksheets[0];

// Creating an array containing names as string values
string[] names = new string[] { "Laurence Chen", "Roman Korchagin", "Kyle Huang" };

// Exporting the array of names to first row and first column vertically
worksheet.Cells.ImportArray(names, 0, 0, true);

// Saving the Excel file
workbook.Save("StringsArray.xlsx");
文字列配列をExcelにエクスポート

データの配列をExcelにエクスポートする

同様に、2次元配列をExcelファイルにエクスポートできます。次のコードサンプルは、2次元配列をC#のExcelファイルにエクスポートする方法を示しています。

// Creating a two-dimensional array of integers
int[,] array2D = new int[4, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };

// Exporting a two-dimensional array at the first row and first column of the worksheet
worksheet.Cells.ImportArray(array2D, 0, 0);

ArrayListをC#でExcelにエクスポート

ArrayListからワークシートにデータをエクスポートするには、CellsコレクションのImportArrayListメソッドを呼び出します。 ImportArrayListメソッドは、次のパラメーターを取ります。

  • 配列リストは、エクスポートするArrayListオブジェクトを表します。
  • 行番号は、データがエクスポートされる最初のセルの行番号を表します。
  • 列番号は、データがエクスポートされる最初のセルの列番号を表します。
  • verticalは、データを垂直方向にエクスポートするか水平方向にエクスポートするかを指定するブール値です。

次のコードサンプルは、ArrayListをC#のExcelファイルにエクスポートする方法を示しています。

// Instantiating a Workbook object
Workbook workbook = new Workbook();

// Obtaining the reference of the worksheet
Worksheet worksheet = workbook.Worksheets[0];

// 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");

// Exporting the contents of ArrayList vertically at the first row and first column of the worksheet. 
worksheet.Cells.ImportArrayList(list, 0, 0, true);

// Saving the Excel file
workbook.Save("ArrayListExport.xlsx");

カスタムオブジェクトのコレクションをC#でExcelにエクスポートする

カスタムオブジェクトのコレクションからワークシートにデータをエクスポートするには、ImportCustomObjectsメソッドを使用します。このメソッドには2つのオーバーロードされたバージョンがあります。

  1. ImportCustomObjects(ICollection list、String [] propertyNames、Boolean isPropertyNameShown、Int32 firstRow、Int32 firstColumn、Int32 rowNumber、Boolean inserts、String dateFormatString, Boolean convertStringToNumber)
  2. ImportCustomObjects(ICollectionリスト、Int32 firstRow、Int32 firstColumn、ImportTableOptionsオプション)

オーバーロードされた各メソッドを1つずつ調べます。最初のオーバーロードされたメソッドのパラメーターの説明を以下に示します。

  • listカスタムオブジェクトのコレクション。
  • propertyNamesエクスポートするオブジェクトのプロパティの名前。 nullの場合、すべてのプロパティがエクスポートされます。
  • isPropertyNameShownプロパティ名を最初の行にエクスポートするかどうかを示します。
  • firstRowエクスポート先の最初のセルの行番号。
  • firstColumnエクスポート先の最初のセルの列番号。
  • rowNumberエクスポートするオブジェクトの数。
  • insertRowsデータに合わせて追加の行を追加するかどうかを示します。
  • dateFormatStringセルの日付フォーマット文字列。
  • convertStringToNumberこのメソッドが文字列を数値に変換しようとするかどうかを示します。

次の例では、PersonオブジェクトのリストをC#のExcelドキュメントにエクスポートしています。 Personオブジェクトの2つのプロパティ(NameとAge)のみをエクスポートしていることに注意してください。

// Instantiate a new Workbook
Workbook book = new Workbook();
// Obtaining the reference of the worksheet
Worksheet sheet = book.Worksheets[0];

// Define List
List<Person> list = new List<Person>();

list.Add(new Person("Mike", 25, "Software Engineer"));
list.Add(new Person("Steve", 30, "Doctor"));
list.Add(new Person("Billy", 35, "Teacher"));

// We pick only Name and Age columns, not all, to export to the worksheet         
sheet.Cells.ImportCustomObjects((System.Collections.ICollection)list,
    new string[] { "Name", "Age" }, // propertyNames
    true, // isPropertyNameShown
    0, // firstRow
    0, // firstColumn
    list.Count, // Number of objects to be exported
    true, // insertRows
    null, // dateFormatString
    false); // convertStringToNumber

// Save the Excel file
book.Save("ExportedCustomObjects.xlsx");
       
public class Person
{
    public string Name { get; set; }

    public int Age { get; set; }

    public string Occupation { get; set; }

    public Person(string name, int age, string occupation)
    {
        Age = age;
        Name = name;
        Occupation = occupation;
    }
}
オブジェクトのリストをExcelにエクスポート

PersonオブジェクトのリストをExcelにエクスポートする

次に、ImportCustomObjectsの2番目のオーバーロードされたメソッドについて説明します。メソッドのパラメータの説明を以下に示します。

  • listカスタムオブジェクトのリスト。
  • firstRowエクスポート先の最初のセルの行番号。
  • firstColumnエクスポート先の最初のセルの列番号。
  • optionsImportTableOptionsオブジェクト。

ImportTableOptionsパラメーターは、データをセルにエクスポートするためのいくつかのオプションを提供します。それらのいくつかを以下に示します。

  • CheckMergedCellsExcelドキュメントに結合されたセルが含まれていますか。
  • ColumnIndexesデータソースからエクスポートする列インデックスの整数配列(0ベース)。 nullは、すべての列をエクスポートする必要があることを意味します。
  • ConvertGridStyleグリッドビューのスタイルをセルに適用するかどうかを示します。
  • ConvertNumericData文字列値を数値または日付値のどちらに変換する必要があるかを示すブール値。
  • DateFormatエクスポートされたDateTime値を持つセルの日付フォーマット文字列を取得または設定します。
  • DefaultValuesテーブル内のセルのデフォルト値はnullです。
  • InsertRowsデータレコードをエクスポートするために新しい行を追加する必要があるかどうかを示します。
  • IsFieldNameShownフィールド名をエクスポートする必要があるかどうかを示します。
  • IsFormulasデータが数式であるかどうかを示します。
  • IsHtmlStringデータにHTMLタグが含まれているかどうかを示します。値をtrueに設定すると、データをExcelドキュメントにエクスポートする間、HTML形式は保持されたままになります。
  • NumberFormats数値フォーマットを取得または設定します
  • ShiftFirstRowDown行を挿入するときに最初の行を下にシフトする必要があるかどうかを示します。
  • TotalColumnsデータソースからエクスポートする列の総数を取得または設定します。 -1は、指定されたデータソースのすべての列を意味します。
  • TotalRowsデータソースからエクスポートする合計行数を取得または設定します。 -1は、指定されたデータソースのすべての行を意味します。

次の例では、オブジェクトのコレクションからマージされたセルを含むワークシートにデータをエクスポートしています。 Excelドキュメントには結合されたセルが含まれているため、ImportTableOptions.CheckMergedCellsプロパティの値をtrueに設定しています。

// Opening an existing Workbook.
Workbook workbook = new Workbook("SampleMergedTemplate.xlsx");
List<Product> productList = new List<Product>();

// Creating a collection of Products
for (int i = 0; i < 3; i++)
{
    Product product = new Product
    {
        ProductId = i,
        ProductName = "Test Product - " + i
    };
    productList.Add(product);
}

ImportTableOptions tableOptions = new ImportTableOptions();
// Set CheckMergedCells property to true
tableOptions.CheckMergedCells = true;
tableOptions.IsFieldNameShown = false;

//Export data to excel template (in second row, first column) 
workbook.Worksheets[0].Cells.ImportCustomObjects((ICollection)productList, 1, 0, tableOptions);
workbook.Save("SampleMergedTemplate_out.xlsx", SaveFormat.Xlsx);

public class Product
{
    public int ProductId { get; set; }

    public string ProductName { get; set; }
}
オブジェクトのコレクションから、結合されたセルを含むワークシートにデータをエクスポートします

結合されたセルを含むExcelドキュメントにデータをエクスポートする

行と列をC#で1つのExcelファイルから別のExcelファイルにコピーします

プログラムで、あるExcelドキュメントから別のExcelドキュメントに行と列をコピーできます。行(または列)がコピーされると、数式(参照が更新されたもの)や値、コメント、書式設定、非表示のセル、画像、その他の描画オブジェクトなど、その行に含まれるデータもコピーされます。同じワークシート内またはExcelドキュメント内の異なるワークシート間で行と列をコピーすることもできます。 Aspose.Cellsは、行と列をコピーするための次のメソッドを提供します。

次のサンプルコードは、C#で1つのExcelドキュメントから別のExcelドキュメントに行をコピーする方法を示しています。

// Open the source excel file.
Workbook srcWorkbook = new Workbook("Source_Workbook.xlsx");

// Instantiate the destination excel file.
Workbook destWorkbook = new Workbook();

// Get the first worksheet of the source workbook.
Worksheet srcWorksheet = srcWorkbook.Worksheets[0];

// Get the first worksheet of the destination workbook.
Worksheet desWorksheet = destWorkbook.Worksheets[0];

// Copy all the rows of the first worksheet of source Workbook to
// the first worksheet of destination Workbook.
desWorksheet.Cells.CopyRows(srcWorksheet.Cells, 0, 0, srcWorksheet.Cells.MaxDisplayRange.RowCount);

// Save the excel file.
destWorkbook.Save("Destination_Workbook.xlsx");

次のサンプルコードは、あるExcelドキュメントの特定の行を別のドキュメントにコピーする方法を示しています。

// Open the source excel file.
Workbook srcWorkbook = new Workbook("Source_Workbook.xlsx");

// Instantiate the destination excel file.
Workbook destWorkbook = new Workbook();

// Get the first worksheet of the source workbook.
Worksheet srcWorksheet = srcWorkbook.Worksheets[0];

// Get the first worksheet of the destination workbook.
Worksheet desWorksheet = destWorkbook.Worksheets[0];

// Copy the second row of the source Workbook to the first row of destination Workbook.
desWorksheet.Cells.CopyRow(srcWorksheet.Cells, 1, 0);

// Copy the fourth row of the source Workbook to the second row of destination Workbook.
desWorksheet.Cells.CopyRow(srcWorksheet.Cells, 3, 1);

// Save the excel file.
destWorkbook.Save("Destination_Workbook.xlsx");
行のデータを1つのExcelドキュメントから別のドキュメントにコピーします

同様に、CopyColumnまたはCopyColumnsメソッドを使用して、あるMicrosoftExcelドキュメントから別のドキュメントに列のデータをコピーできます。

C#でDataTableをExcelにエクスポート

DataTableDataColumnDataViewなどのADO.NETオブジェクトのデータをExcelワークシートにエクスポートできます。 DataTableからデータをエクスポートするには、CellsコレクションのImportDataメソッドを呼び出します。 ImportDataメソッドには多くのオーバーロードされたバージョンがありますが、以下を使用します。

public int ImportData(
	DataTable table,
	int firstRow,
	int firstColumn,
	ImportTableOptions options
)

パラメータの説明を以下に示します。

  • エクスポートするテーブルDataTableオブジェクト。
  • firstRowエクスポート先の最初のセルの行番号。
  • firstColumnエクスポート先の最初のセルの列番号。
  • optionsTypeImportTableOptionsオブジェクト。

次のコードサンプルでは、3つの列と2つの行を持つDataTableオブジェクトを作成しています。そしてそれをExcelワークシートにエクスポートします。

// Instantiating a Workbook object            
Workbook workbook = new Workbook();

// Obtaining the reference of the worksheet
Worksheet worksheet = workbook.Worksheets[0];

// Instantiating a "Products" DataTable object
DataTable dataTable = new DataTable("Products");

// Adding columns to the DataTable object
dataTable.Columns.Add("Product ID", typeof(int));
dataTable.Columns.Add("Product Name", typeof(string));
dataTable.Columns.Add("Units In Stock", typeof(int));

// 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);

// Setting IsFieldNameShown property to true will add column names // of the DataTable to the worksheet as a header row
ImportTableOptions tableOptions = new ImportTableOptions();
tableOptions.IsFieldNameShown = true;

// Exporting the contents of DataTable at the first row and first column.
worksheet.Cells.ImportData(dataTable, 0, 0, tableOptions);

// Saving the Excel file
workbook.Save("DataTable_Eport.xlsx");
DataTableをExcelにエクスポート

DataTableをExcelにエクスポート

選択したデータ列のデータをC#でExcelにエクスポートする

DataTableまたはDataViewの選択したDataColumnsをExcelドキュメントにエクスポートできます。前に説明したように、ImportDataメソッドはImportTableOptionsタイプの引数を受け入れます。 ImportTableOptionsクラスには、エクスポートする列インデックス(ゼロベース)の配列を受け入れるColumnIndexesプロパティがあります。次のコードサンプルでは、DataTableの2つのDataColumnsのみをExcelワークシートにエクスポートしています。

// Instantiating a "Products" DataTable object
DataTable dataTable = new DataTable("Products");

// Adding columns to the DataTable object
dataTable.Columns.Add("Product ID", typeof(int));
dataTable.Columns.Add("Product Name", typeof(string));
dataTable.Columns.Add("Units In Stock", typeof(int));

// 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);

// Instantiate a new Workbook
Workbook book = new Workbook();

Worksheet sheet = book.Worksheets[0];

// Create export options
ImportTableOptions importOptions = new ImportTableOptions();
// Sets the columns (0-based) to export from data source.
// null means all columns should be exported.
importOptions.ColumnIndexes = new int[] { 0, 1 };
importOptions.IsFieldNameShown = true;

// Exporting the values of 1st and 2nd columns of the data table
sheet.Cells.ImportData(dataTable, 0, 0, importOptions);

book.Save("DataColumsExport.xlsx");
選択したデータ列のデータをExcelにエクスポートする

DataColumnsのExcelへの出力

C#でDataViewからExcelにデータをエクスポートする

DataViewは、DataTableのデータのサブセットを表示するようにカスタマイズできるDataTableのビューです。次のオーバーロードされたバージョンのImportDataメソッドを使用して、DataViewからExcelドキュメントにデータをエクスポートします。

public int ImportData(
	DataView dataView,
	int firstRow,
	int firstColumn,
	ImportTableOptions options
)

DataViewを作成する方法は2つあります。 DataViewコンストラクターを使用することも、DataTableDefaultViewプロパティへの参照を作成することもできます。次のコードサンプルでは、後者の方法を使用してDataViewを作成しています。

worksheet.Cells.ImportData(dataTable.DefaultView, 0, 0, options);

C#でDataGridおよびGridViewからExcelにデータをエクスポートする

Aspose.Cellsライブラリを使用すると、DataGridやGridViewなどのMicrosoftGridコントロールからExcelワークシートにデータをエクスポートできます。これは、DataGridからデータをエクスポートするためのImportDataGridメソッドと、GridViewからデータをエクスポートするためのImportGridViewメソッドを提供します。

ImportDataGridメソッドには多くのオーバーロードされたバージョンがありますが、一般的なオーバーロードは次のパラメーターを取ります。

  • dataGrid、コンテンツのエクスポート元のDataGridオブジェクト。
  • firstRow、データがエクスポートされる最初のセルの行番号。
  • firstColumn、データがエクスポートされる最初のセルの列番号。
  • insertRowsは、データに合わせるためにワークシートに追加の行を追加する必要があるかどうかを示すブール型のプロパティです。
  • importStyle、セルスタイルをエクスポートするかどうかを示すブールプロパティ。

次のコード例は、DataGridからC#のExcelファイルにデータをエクスポートする方法を示しています。

// Create a DataTable object and set it as the DataSource of the DataGrid.
DataTable dataTable = new DataTable("Products");
dataTable.Columns.Add("Product ID", typeof(int));
dataTable.Columns.Add("Product Name", typeof(string));
dataTable.Columns.Add("Units In Stock", typeof(int));

DataRow dr = dataTable.NewRow();
dr[0] = 1;
dr[1] = "Aniseed Syrup";
dr[2] = 15;
dataTable.Rows.Add(dr);

dr = dataTable.NewRow();
dr[0] = 2;
dr[1] = "Boston Crab Meat";
dr[2] = 123;
dataTable.Rows.Add(dr);

// Now take care of DataGrid
DataGrid dg = new DataGrid();
dg.DataSource = dataTable;
dg.DataBind();

// We have a DataGrid object with some data in it.
// Lets export it to an Excel worksheet.

// Creat a new workbook
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];

// Exporting the contents of the DataGrid to the worksheet
worksheet.Cells.ImportDataGrid(dg, 0, 0, false);

// Save it as Excel file
workbook.Save("ExportDataGrid.xlsx");

HTML形式のデータをC#でExcelにエクスポートする

Aspose.Cellsを使用すると、HTML形式のデータをExcelワークシートにエクスポートできます。 APIは、データのエクスポート中にHTML形式のテキストを解析し、HTMLを形式化されたセル値に変換します。次のサンプルコードでは、DataTableにHTML形式のテキストが含まれており、ImportDataメソッドを使用してExcelドキュメントにエクスポートしています。

// Prepare a DataTable with some HTML formatted values
DataTable dataTable = new DataTable("Products");

dataTable.Columns.Add("Product ID", typeof(int));
dataTable.Columns.Add("Product Name", typeof(string));
dataTable.Columns.Add("Units In Stock", typeof(int));

DataRow dr = dataTable.NewRow();
dr[0] = 1;
// Make text italicize
dr[1] = "<i>Aniseed</i> Syrup";
dr[2] = 15;
dataTable.Rows.Add(dr);

dr = dataTable.NewRow();
dr[0] = 2;
// Make text bold
dr[1] = "<b>Boston Crab Meat</b>";
dr[2] = 123;
dataTable.Rows.Add(dr);

// Create export options
ImportTableOptions exportOptions = new ImportTableOptions();
exportOptions.IsFieldNameShown = true;
// Set IsHtmlString property to true as the data contains HTML tags. 
exportOptions.IsHtmlString = true;

// Create workbook
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];

worksheet.Cells.ImportData(dataTable, 0, 0, exportOptions);

workbook.Save("HTMLFormattedData_Out.xlsx");
HTML形式のデータをスプレッドシートに

ExcelドキュメントへのHTMLエクスポートデータの出力

HTMLファイルをC#でExcelにエクスポート

Aspose.Cellsを使用すると、HTMLファイルをExcelにエクスポートできます。 HTMLファイルはMicrosoftExcel指向である必要があります。つまり、MS-Excelで開くことができる必要があります。

// An HTML file
string filePath = "Book1.html";

// Instantiate LoadOptions specified by the LoadFormat.
HtmlLoadOptions loadOptions = new HtmlLoadOptions(LoadFormat.Html);

// Create a Workbook object and open the HTML file.
Workbook wb = new Workbook(filePath, loadOptions);

// Save the file as Excel Document
wb.Save("Book1_out.xlsx");

JSONデータをC#でExcelにエクスポートする

JSONデータをExcelドキュメントにエクスポートする必要がある場合があります。 Aspose.Cellsを使用すると、数行のコードでこれを簡単に行うことができます。 Aspose.Cellsは、JSONデータをExcelドキュメントにエクスポートするためのImportDataメソッドを持つJsonUtilityクラスを提供します。 ImportDataメソッドは、JsonLayoutOptionsオブジェクトをパラメーターとして受け入れます。 JsonLayoutOptionsクラスは、JSONレイアウトのオプションを表し、次のプロパティを持っています。

  • ArrayAsTable: Indicates whether the array should be processed as a table.
  • ConvertNumericOrDate: Gets or sets a value that indicates whether the string in JSON is to be converted to numeric or date.
  • DateFormat: Gets and sets the format of the date value.
  • IgnoreArrayTitle: Indicates whether to ignore the title if the property of the object is an array.
  • IgnoreNull: Indicates whether the null value should be ignored.
  • IgnoreObjectTitle: Indicates whether to ignore the title if the property of the object is an object.
  • NumberFormat: Gets and sets the format of the numeric value.
  • TitleStyle: Gets and sets the style of the title.

次のサンプルコードでは、JSONデータをC#のExcelファイルにエクスポートしています。

// Instantiating a Workbook object
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];

// Read JSON file
string jsonInput = File.ReadAllText("Sample.json");

// Set Styles
CellsFactory factory = new CellsFactory();
Style style = factory.CreateStyle();
style.HorizontalAlignment = TextAlignmentType.Center;
style.Font.Color = System.Drawing.Color.BlueViolet;
style.Font.IsBold = true;

// Set JsonLayoutOptions
JsonLayoutOptions options = new JsonLayoutOptions();
options.TitleStyle = style;
options.ArrayAsTable = true;

// Export JSON Data
JsonUtility.ImportData(jsonInput, worksheet.Cells, 0, 0, options);

// Save Excel file
workbook.Save("ExportingJsonData.xlsx");
{
  "quiz": {
    "sport": {
      "q1": {
        "question": "Which one is correct team name in NBA?",
        "answer": "Huston Rocket"
      }
    },
    "maths": {
      "q1": {
        "question": "5 + 7 = ?",
        "answer": "12"
      },
      "q2": {
        "question": "12 - 8 = ?",
        "answer": "4"
      }
    }
  }
}
JSONデータからExcelドキュメントへ

JSONデータをExcelにエクスポートする

CSVデータをC#でExcelにエクスポート

カンマ区切り値(CSV)ファイルは、カンマを使用して値を区切る区切りテキストファイルです。 CSVファイルは通常、表形式のデータ(数値とテキスト)をプレーンテキストで保存します。この場合、各行には同じ数のフィールドが含まれます。

次のコードサンプルは、Aspose.Cellsライブラリを使用してCSVファイルを開き、Excelファイルとして保存する方法を示しています。

// Instantiate LoadOptions with CSV LoadFormat.
LoadOptions loadOptions = new LoadOptions(LoadFormat.CSV);

// Open CSV file as a Workbook object
Workbook wb = new Workbook("Business-Price.csv", loadOptions);

// Save the file as an Excel Documnt
wb.Save("CSVAsAnExcelDocument.xlsx");
スプレッドシートドキュメントでCSVファイルを開く

ExcelドキュメントへのCSV

結論

この投稿では、Array、DataTable、DataView、DataGrid、GridViewからC#でExcelにデータを簡単にエクスポートできることを確認しました。 HTML、JSON、CSVデータをExcelワークシートにエクスポートする方法も見てきました。 Aspose.Cells APIが提供するこれらの機能やその他の機能の詳細については、ドキュメントを確認してください。ご不明な点がございましたら、サポートフォーラムからお気軽にお問い合わせください。

関連項目