We have an asp.net c# program that reads a sheet from an Excel file and writes it out in a new sheet (also adding one column if data come from a Sql Server table).
I
Just set the appropriate property on your cell (Range) objects.
Set NumberFormat to control the cell number formatting, i.e.:
newSheet.Cells[i, j].NumberFormat = "m/d/yyyy"
Set HorizontalAlignment to control the alignment, i.e.:
newSheet.Cells[i, j].HorizontalAlignment = ExcelAlignment.xlLeft; //or Excel.XlHAlign.xlHAlignLeft