My table.Rows.Count=8000.Work on C# vs05
DataSet ds = null;
DataTable dtTable = null;
ds = oBOGeneralReport.GetsBoardExcelPreview(_oGeneralReport);//.GetsBoardPreview(_oGeneralReport);
if (ds == null) return;
if (ds.Tables.Count > 0) dtTable = ds.Tables[0];
if (dtTable == null) return;
string connectionString = null;
string sql = null;
string data = null;
int i = 0;
int j = 0;
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
int nRow = 1;
int p = 0;
int k = 0;
string sFileName = null;
for (k = 0; k < ds.Tables[0].Columns.Count; k++)
{
xlWorkSheet.Cells[nRow, p + 1] = ds.Tables[0].Columns[k].ColumnName;
p++;
}
for (i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
{
for (j = 0; j <= ds.Tables[0].Columns.Count - 1; j++)
{
data = ds.Tables[0].Rows[i].ItemArray[j].ToString();
xlWorkSheet.Cells[i + 2, j + 1] = data;
}
}
SaveFileDialog oDialog = new SaveFileDialog();
oDialog.Filter = "Excel files | *.xls";
if (oDialog.ShowDialog() == DialogResult.OK)
{
sFileName = oDialog.FileName;
}
if (sFileName != null)
{
xlWorkBook.SaveAs(sFileName, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
MessageBox.Show("Report saved with file: " + sFileName, "To Excel", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Cannot export to excel...", "Can't export", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
How to decrease the export time?