internal static void GenerateExcel(DataTable dt)
{
Microsoft.Office.Interop.Excel.Application objApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbooks objBooks = objApp.Workbooks;
Microsoft.Office.Interop.Excel.Workbook objBook = objBooks.Add(Missing.Value);
Microsoft.Office.Interop.Excel.Worksheet objSheet = null;
if (dt.Rows.Count > 0)
{
objSheet = (Microsoft.Office.Interop.Excel.Worksheet)objBook.Worksheets.Add(Missing.Value, Missing.Value, Missing.Value, Missing.Value);
((Microsoft.Office.Interop.Excel.Worksheet)objBook.Sheets[1]).Select(Missing.Value);
int row = 0;
//Headers
objSheet.Cells[row + 1, 1] = "CC_CODE";
objSheet.Cells[row + 1, 2] = "DAY";
objSheet.Cells[row + 1, 3] = "MONTH";
objSheet.Cells[row + 1, 4] = "YEAR";
objSheet.Cells[row + 1, 5] = "SHIFT";
objSheet.Cells[row + 1, 6] = "SCODE";
objSheet.Cells[row + 1, 7] = "MILKTYPE";
objSheet.Cells[row + 1, 8] = "CAN";
objSheet.Cells[row + 1, 9] = "KG";
objSheet.Cells[row + 1, 10] = "LITER";
objSheet.Cells[row + 1, 11] = "LR";
objSheet.Cells[row + 1, 12] = "FAT";
objSheet.Cells[row + 1, 13] = "SNF";
objSheet.Cells[row + 1, 14] = "SOUR STATUS";
objSheet.Cells[row + 1, 14].EntireRow.Font.Bold = true;
objSheet.Columns[16].AutoFit();
foreach (DataRow dr in dt.Rows)
{
row++;
for (int col = 0; col < dt.Columns.Count; col++)
{
objSheet.Cells[row + 1, col + 1] = dr[col].ToString();
objSheet.Cells[row + 1, 1] = Settings.Instance.UnionCode;
objSheet.Cells[row + 1, 2] = Convert.ToDateTime(dr["Date"]).Day;
objSheet.Cells[row + 1, 3] = string.Format("{0:MM}", Convert.ToDateTime(dr["Date"]));
objSheet.Cells[row + 1, 4] = Convert.ToDateTime(dr["Date"]).Year;
objSheet.Cells[row + 1, 5] = dr["Shift"].ToString();
objSheet.Cells[row + 1, 6] = dr["SocNo"].ToString();
objSheet.Cells[row + 1, 7] = "C";
objSheet.Cells[row + 1, 8] = dr["CAN"].ToString();
objSheet.Cells[row + 1, 9] = " ";
objSheet.Cells[row + 1, 10] = dr["Liter"].ToString();
objSheet.Range["J2", "J" + row + 1].NumberFormat = "####.0";
objSheet.Range["L2", "L" + row + 1].NumberFormat = "#.0";
objSheet.Range["M2", "M" + row + 1].NumberFormat = "#.0";
objSheet.Cells[row + 1, 11] = "";
objSheet.Cells[row + 1, 12] = dr["Fat"].ToString();
objSheet.Cells[row + 1, 13] = dr["Snf"].ToString();
objSheet.Cells[row + 1, 14] = "";
}
}
objBook.Close(true, @"D:\12586.xlsx", Missing.Value);
objBooks.Close();
objApp.Quit();
}
}