Hi

export a DataTable to Excel and upload it to AWS S3 using C# with EPPlus

 using System;

using System.Data;

using System.IO;

using OfficeOpenXml;

using Amazon;

using Amazon.S3;

using Amazon.S3.Transfer;


class Program

{

    static async Task Main()

    {

        // 1. Sample DataTable

        var dataTable = new DataTable("MyData");

        dataTable.Columns.Add("ID", typeof(int));

        dataTable.Columns.Add("Name", typeof(string));

        dataTable.Rows.Add(1, "Alice");

        dataTable.Rows.Add(2, "Bob");


        // 2. Export to Excel

        string excelFilePath = "output.xlsx";

        ExcelPackage.LicenseContext = LicenseContext.NonCommercial;


        using (var package = new ExcelPackage())

        {

            var ws = package.Workbook.Worksheets.Add(dataTable.TableName);

            ws.Cells["A1"].LoadFromDataTable(dataTable, true);

            File.WriteAllBytes(excelFilePath, package.GetAsByteArray());

        }


        // 3. Upload to AWS S3

        var bucketName = "your-s3-bucket-name";

        var keyName = "exports/output.xlsx"; // path in S3


        var transferUtility = new TransferUtility(new AmazonS3Client(

            "your-access-key", 

            "your-secret-key", 

            RegionEndpoint.APSouth1)); // choose your region


        await transferUtility.UploadAsync(excelFilePath, bucketName, keyName);


        Console.WriteLine("✅ Upload completed.");

    }

}


Previous
Next Post »