How to Import and Export as DataSet

A DataSet is an in-memory representation of data that can hold multiple related tables, relationships, and constraints. It's often used for working with data from various sources like databases, XML, and more.

A DataTable is a fundamental building block within a DataSet. It represents a single table with rows and columns, much like a table in a database. It's used to organize and manipulate data in a tabular form.

You can import a DataSet into a spreadsheet object and export it back into a DataSet using IronXL.


Get started with IronXL

Start using IronXL in your project today with a free trial.

First Step:
green arrow pointer


Load DataSet

Utilize the static LoadWorkSheetsFromDataSet method of the Workbook to import a DataSet into the workbook. This method requires both the DataSet and Workbook objects. Consequently, you should initiate the workbook or spreadsheet beforehand using the Create method. In the provided code example, provide the DataSet object you wish to convert to the method, alongside the workbook object.

:path=/static-assets/excel/content-code-examples/how-to/export-dataset-datatable-load.cs
using IronXL;
using System.Data;

// Create an instance of a DataSet to hold DataTables
DataSet dataSet = new DataSet();

// Create an instance of a WorkBook and specify the Excel file format
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);

// Populate the DataSet with a DataTable (this is an example setup)
// Create a new DataTable and define its schema
DataTable table = new DataTable("Sample");
table.Columns.Add("Column1");
table.Columns.Add("Column2");

// Add rows with data to the DataTable
table.Rows.Add("Value1", "Value2");

// Add the DataTable to the DataSet
dataSet.Tables.Add(table);

// Load the DataSet into the WorkBook
// This transforms each DataTable within the DataSet into a worksheet in the WorkBook
workBook.LoadDataSet(dataSet);

// Further operations such as saving the WorkBook to a file can be done here if needed
// For example: workBook.SaveAs("output.xlsx");
Imports IronXL
Imports System.Data

' Create an instance of a DataSet to hold DataTables
Private dataSet As New DataSet()

' Create an instance of a WorkBook and specify the Excel file format
Private workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

' Populate the DataSet with a DataTable (this is an example setup)
' Create a new DataTable and define its schema
Private table As New DataTable("Sample")
table.Columns.Add("Column1")
table.Columns.Add("Column2")

' Add rows with data to the DataTable
table.Rows.Add("Value1", "Value2")

' Add the DataTable to the DataSet
dataSet.Tables.Add(table)

' Load the DataSet into the WorkBook
' This transforms each DataTable within the DataSet into a worksheet in the WorkBook
workBook.LoadDataSet(dataSet)

' Further operations such as saving the WorkBook to a file can be done here if needed
' For example: workBook.SaveAs("output.xlsx");
$vbLabelText   $csharpLabel

Visit the How to Load Existing Spreadsheets article to learn more about importing spreadsheets from various file formats.


Export DataSet

The ToDataSet method converts the workbook to a System.Data.DataSet, where each worksheet represents a System.Data.DataTable. Use this method on the current Excel workbook to convert it from a workbook to a DataSet object. The useFirstRowAsColumnNames parameter of the method configures whether to use the first row as column names.

:path=/static-assets/excel/content-code-examples/how-to/export-dataset-datatable-export.cs
using IronXL;
using System.Data;

// This code demonstrates how to create a new Excel workbook and worksheet
// using the IronXL library, and then export the workbook as a DataSet.
class ExcelHandler
{
    static void Main(string[] args)
    {
        // Create a new Excel WorkBook document with specified format
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);

        // Create a blank WorkSheet and add it to the workbook
        WorkSheet workSheet = workBook.CreateWorkSheet("new_sheet");

        // Optionally, you can add data to the worksheet here
        // For example, adding sample data to cell A1:
        workSheet["A1"].Value = "Sample Data";

        // Export the workbook as a DataSet
        DataSet dataSet = workBook.ToDataSet();

        // Now 'dataSet' can be used to manipulate or inspect the data programmatically
        // For example, iterating over each table and printing its data:
        foreach (DataTable table in dataSet.Tables)
        {
            foreach (DataRow row in table.Rows)
            {
                foreach (var item in row.ItemArray)
                {
                    Console.Write(item + "\t");
                }
                Console.WriteLine();
            }
        }
    }
}
Imports Microsoft.VisualBasic
Imports IronXL
Imports System.Data

' This code demonstrates how to create a new Excel workbook and worksheet
' using the IronXL library, and then export the workbook as a DataSet.
Friend Class ExcelHandler
	Shared Sub Main(ByVal args() As String)
		' Create a new Excel WorkBook document with specified format
		Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

		' Create a blank WorkSheet and add it to the workbook
		Dim workSheet As WorkSheet = workBook.CreateWorkSheet("new_sheet")

		' Optionally, you can add data to the worksheet here
		' For example, adding sample data to cell A1:
		workSheet("A1").Value = "Sample Data"

		' Export the workbook as a DataSet
		Dim dataSet As DataSet = workBook.ToDataSet()

		' Now 'dataSet' can be used to manipulate or inspect the data programmatically
		' For example, iterating over each table and printing its data:
		For Each table As DataTable In dataSet.Tables
			For Each row As DataRow In table.Rows
				For Each item In row.ItemArray
					Console.Write(item & vbTab)
				Next item
				Console.WriteLine()
			Next row
		Next table
	End Sub
End Class
$vbLabelText   $csharpLabel

Visit the How to Save or Export Spreadsheets article to learn more about exporting spreadsheets to various file formats.

Frequently Asked Questions

What is a DataSet in C#?

A DataSet is an in-memory representation of data that can hold multiple related tables, relationships, and constraints. It's used for working with data from various sources like databases, XML, and more.

How is a DataTable related to a DataSet?

A DataTable is a fundamental building block within a DataSet. It represents a single table with rows and columns, much like a table in a database, and is used to organize and manipulate data in a tabular form.

How do I import a DataSet into an Excel workbook using IronXL?

Use the static LoadWorkSheetsFromDataSet method of the Workbook to import a DataSet into the workbook. This requires both the DataSet and Workbook objects. You must first create the workbook using the Create method.

How can I export an Excel workbook as a DataSet?

Use the ToDataSet method on the current Excel workbook to convert it to a System.Data.DataSet. Each worksheet represents a System.Data.DataTable, and you can configure whether to use the first row as column names using the useFirstRowAsColumnNames parameter.

Where can I download the IronXL library for C#?

You can download the C# library for importing and exporting as a DataSet from NuGet by visiting https://nuget.org/packages/IronXL.Excel/.

What are the steps to import a DataSet into a spreadsheet using IronXL?

First, download the IronXL library. Then, prepare the DataSet, use the LoadWorkSheetsFromDataSet method to import it into the workbook, and check the conversion result.

Can I save the imported DataSet as an Excel file?

Yes, after loading the DataSet into a workbook using IronXL, you can save the workbook to a file using the SaveAs method, specifying the desired file name and format.

What method is used to export a workbook as a DataSet?

The ToDataSet method is used to export a workbook as a DataSet. It converts each worksheet into a DataTable within the DataSet.

Is there a way to use the first row as column names when exporting a workbook to a DataSet?

Yes, the ToDataSet method includes a parameter called useFirstRowAsColumnNames that allows you to specify whether the first row should be used as column names.

Chaknith related to Export DataSet
Software Engineer
Chaknith is the Sherlock Holmes of developers. It first occurred to him he might have a future in software engineering, when he was doing code challenges for fun. His focus is on IronXL and IronBarcode, but he takes pride in helping customers with every product. Chaknith leverages his knowledge from talking directly with customers, to help further improve the products themselves. His anecdotal feedback goes beyond Jira tickets and supports product development, documentation and marketing, to improve customer’s overall experience.When he isn’t in the office, he can be found learning about machine learning, coding and hiking.