Log exception to Text
Log.ErrorLog(ex, "excel"); to export to text file in your exception handling
Log Datatable to excel
Log.Excel_FromDataTable(datatable);
below class will export to text file and excel.
using System;
using System.Collections.Generic;
using System.Data;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.Office.Interop.Excel;
namespace DataMigrationHDM
{
internal class Log
{
public static void Excel_FromDataTable(System.Data.DataTable dt)
{
try
{
// Create an Excel object and add workbook...
ApplicationClass excel = new ApplicationClass();
Workbook workbook = excel.Application.Workbooks.Add(true); // true for object template???
// Add column headings...
int iCol = 0;
foreach (DataColumn c in dt.Columns)
{
iCol++;
excel.Cells[1, iCol] = c.ColumnName;
}
// for each row of data...
int iRow = 0;
foreach (DataRow r in dt.Rows)
{
iRow++;
// add each row's cell data...
iCol = 0;
foreach (DataColumn c in dt.Columns)
{
iCol++;
excel.Cells[iRow + 1, iCol] = r[c.ColumnName];
}
}
// Global missing reference for objects we are not defining...
object missing = System.Reflection.Missing.Value;
Worksheet worksheet = (Worksheet)excel.ActiveSheet;
string RDir = Directory.GetCurrentDirectory();
string sYear = DateTime.Now.Year.ToString();
string sMonth = DateTime.Now.Month.ToString(CultureInfo.InvariantCulture);
string sDay = DateTime.Now.Day.ToString();
string dirPath = RDir + @"\ReleasedStandards\" + sMonth + "-" + sDay + "-" + sYear;
if (!Directory.Exists(dirPath))
{
Directory.CreateDirectory(dirPath);
}
//string dateT = DateTime.Now.ToLongDateString();
string sErrorTime = sDay + "-" + sMonth + "-" + sYear + " " + DateTime.Now.Hour.ToString() + "-" + DateTime.Now.Minute;
workbook.SaveAs(dirPath + "\\Report_" + sErrorTime + ".xls",
XlFileFormat.xlXMLSpreadsheet, missing, missing,
false, false, XlSaveAsAccessMode.xlNoChange,
missing, missing, missing, missing, missing);
// If wanting to make Excel visible and activate the worksheet...
excel.Visible = true;
((_Worksheet)worksheet).Activate();
// //format excel on run time
// If wanting excel to shutdown...
((_Application)excel).Quit();
MessageBox.Show("Report Generated", "Maintenance Tool...", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
//MessageBox.Show("Error in webservice while Saving Excel.", "Maintenance Tool...", MessageBoxButtons.OK, MessageBoxIcon.Warning);
ErrorLog(ex, "Writng to excel");
}
}
public static void ErrorLog(Exception ex,String info)
{
StreamWriter sw = null;
try
{
string sLogFormat = DateTime.Now.ToShortDateString().ToString() + " " +
DateTime.Now.ToLongTimeString().ToString() + " ==> ";
string sPathName = Directory.GetCurrentDirectory();
string sYear = DateTime.Now.Year.ToString();
string sMonth = DateTime.Now.Month.ToString();
string sDay = DateTime.Now.Day.ToString();
string sErrorTime = sDay + "-" + sMonth + "-" + sYear;
string dirPath = sPathName + @"\Logs\";
if (!Directory.Exists(dirPath))
{
Directory.CreateDirectory(dirPath);
}
sw = new StreamWriter(dirPath + "\\DocumentLibrary_ErrorLog_" + sErrorTime + ".txt", true);
sw.WriteLine(sLogFormat + ex.Message + ex.StackTrace + info);
sw.Flush();
}
catch (Exception ex1)
{
ErrorLog(ex1,"Lib");
}
finally
{
if (sw != null)
{
sw.Dispose();
sw.Close();
}
}
}
}
}
No comments:
Post a Comment