EasyXLS

How to export DataSet to Excel in custom format in J#.NET

package Tutorial02;

/* -----------------------------------------------------------------------
 * Tutorial 02
 *
 * This code sample shows how to export DataSet to Excel file in J#.
 * The DataSet contains data from a SQL database, but it also can contain
 * data from other sources like GridView, DataGridView, DataGrid or other.
 * The cells are formatted using a user-defined format.
 * -------------------------------------------------------------------- */

import System.Console;
import System.Data.*;
import EasyXLS.*;
import EasyXLS.Constants.*;
import System.Drawing.*;

public class Tutorial02
{
    public Tutorial02()
    {
    }

    /** @attribute System.STAThread() */
    public static void main(String[] args)
    {
        Console.WriteLine("Tutorial 02\n-----------\n");

        // Create an instance of the class that exports Excel files
        ExcelDocument workbook = new ExcelDocument();

        // Create the database connection
        String sConnectionString = "Initial Catalog=Northwind;Data Source=localhost;Integrated Security=SSPI;";
        System.Data.SqlClient.SqlConnection sqlConnection = 
                              new System.Data.SqlClient.SqlConnection(sConnectionString);
        sqlConnection.Open();

        // Create the adapter used to fill the dataset
        String sQueryString = "SELECT TOP 100 CAST(Month(ord.OrderDate) AS varchar) + " +
                              "'/' + CAST(Day(ord.OrderDate) AS varchar) + " + 
                              "'/' + CAST(year(ord.OrderDate) AS varchar) AS 'Order Date', " +
                              "P.ProductName AS 'Product Name', O.UnitPrice AS Price, " +
                              "CAST(O.Quantity AS varchar) AS Quantity, O.UnitPrice * O. Quantity AS Value " +
                              "FROM Orders AS ord, [Order Details] AS O, Products AS P " +
                              "WHERE O.ProductID = P.ProductID AND O.OrderID = ord.OrderID";
        System.Data.SqlClient.SqlDataAdapter adp = 
                              new System.Data.SqlClient.SqlDataAdapter(sQueryString, sqlConnection);

        // Populate the dataset
        DataSet ds  = new DataSet();
        adp.Fill(ds);

        // Create an instance of the class used to format the cells in the report
        ExcelAutoFormat xlsAutoFormat = new ExcelAutoFormat();

        // Set the formatting style of the header
        ExcelStyle xlsHeaderStyle = new ExcelStyle(Color.get_LightGreen());
        xlsHeaderStyle.setFontSize(12);
        xlsAutoFormat.setHeaderRowStyle(xlsHeaderStyle);

        // Set the formatting style of the cells (alternating style)
        ExcelStyle xlsEvenRowStripesStyle = new ExcelStyle(Color.get_FloralWhite());
        xlsEvenRowStripesStyle.setFormat("$0.00");
        xlsEvenRowStripesStyle.setHorizontalAlignment(Alignment.ALIGNMENT_LEFT);
        xlsAutoFormat.setEvenRowStripesStyle(xlsEvenRowStripesStyle);
        ExcelStyle xlsOddRowStripesStyle = new ExcelStyle(Color.FromArgb(240, 247, 239));
        xlsOddRowStripesStyle.setFormat("$0.00");
        xlsOddRowStripesStyle.setHorizontalAlignment (Alignment.ALIGNMENT_LEFT);
        xlsAutoFormat.setOddRowStripesStyle(xlsOddRowStripesStyle);
        ExcelStyle xlsLeftColumnStyle = new ExcelStyle(Color.get_FloralWhite());
        xlsLeftColumnStyle.setFormat("mm/dd/yyyy");
        xlsLeftColumnStyle.setHorizontalAlignment(Alignment.ALIGNMENT_LEFT);
        xlsAutoFormat.setLeftColumnStyle(xlsLeftColumnStyle);

        // Export the Excel file
        Console.WriteLine("Writing file C:\\Samples\\Tutorial02 - export DataSet to Excel with formatting.xlsx.");
        workbook.easy_WriteXLSXFile_FromDataSet(
           "c:\\Samples\\Tutorial02 - export DataSet to Excel with formatting.xlsx", ds, xlsAutoFormat, "Sheet1");

        // Confirm export of Excel file
        String sError = workbook.easy_getError();
        if (sError.Equals(""))
            Console.Write("\nFile successfully created. Press Enter to Exit...");
        else
            Console.Write("\nError encountered: " + sError + "\nPress Enter to Exit...");
         
        // Close the database connection
        sqlConnection.Close();

        // Dispose memory
        workbook.Dispose();
        ds.Dispose();
        sqlConnection.Dispose();
        adp.Dispose();

        Console.ReadLine();
    }
}

EasyXLS Excel libraries:

.NET
Excel Library for J#
full .NET version to import, export or convert Excel files
Excel Writer for J#
.NET version to create and export Excel files
Express Excel Writer for J#
limited .NET version to create and export Excel files in predefined formats
Download EasyXLS™ Excel Library for J#

File formats:

MS Excel 97 - 2003
MS Excel 2007 - 2019
MS Excel 2021
Office 365
XLSXXLSMXLSBXLS
XMLHTMLCSVTXT