below is my code for export to excel. This is woking fine in my local
machine and not working in server.
Application oXL;
_Workbook oWB;
_Worksheet oSheet;
Range oRng;
oXL = new Application();
oXL.Visible = false;
//Get a new workbook.
oWB = (_Workbook)(oXL.Workbooks.Add(Missing.Value));
oSheet = (_Worksheet)oWB.ActiveSheet;
//oWB.get_Colors("Red");
oSheet.Cells[3, 6] = "XXXXXXXXXXXX";
oSheet.get_Range("B3", "G3").Merge(6);
oRng = oSheet.get_Range("B3", "G3");
oRng.HorizontalAlignment = Constants.xlCenter;
oRng.EntireRow.Font.Size = "15";
//oRng.Font.Underline = true;
//oRng.Merge(oRng);
oRng.Font.Bold = true;
int iRow = 4;
if (dtExport.Rows.Count > 0)
{
for (int j = 0; j < dtExport.Columns.Count; j++)
{
if (j == 0)
{
string strHEcrID = "AAAA";
//oSheet.Cells[1, j + 1] = strHEcrID.ToString()
;//dtExport.Columns[j].ColumnName;
oSheet.Cells[4, 2] = strHEcrID;
}
else if (j == 1)
{
string strEcrTitle = "BBB";
//oSheet.Cells[1, j + 1] = strEcrTitle.ToString()
;
oSheet.Cells[4, 3] = strEcrTitle;
}
else if (j == 2)
{
string strHDocID = "CCCC";
//oSheet.Cells[1, j + 1] = strHDocID.ToString();
oSheet.Cells[4, 4] = strHDocID;
}
else if (j == 3)
{
string strHRevision = "DDDD";
//oSheet.Cells[1, j + 1] = strHRevision.ToString()
;
oSheet.Cells[4, 5] = strHRevision;
}
}
oRng = oSheet.get_Range("B4", "G4");
oRng.Font.Bold = true;
// For each row, print the values of each column.
iRow++;
for (int rowNo = 0; rowNo < dtExport.Rows.Count; rowNo++)
{
for (int colNo = 0; colNo < dtExport.Columns.Count;
colNo++)
{
oSheet.Cells[iRow, colNo + 2] = dtExport.Rows
[rowNo][colNo].ToString();
string strRange1, strRange2;
strRange1 = "B3";
strRange2 = "G" + dtExport.Rows.Count;
strRange2 = objcm.getColumnName(dtExport.Columns.
Count + 1) + (dtExport.Rows.Count + 4); //from 4th row , data is printing
oSheet.get_Range(strRange1, strRange2).Borders.
Weight = XlBorderWeight.xlThin;
}
iRow++;
}
}
oRng.EntireColumn.AutoFit();
oXL.Visible = false;
oXL.UserControl = false;
dtExport.Dispose();
if (File.Exists(InsidePortal.CommonLayer.
Utilities.strReportPath + "test.xls"))
File.Delete(InsidePortal.CommonLayer.Utilities.
strReportPath + "test.xls");
oSheet.Name = "ZZZZ";
oWB.SaveAs(InsidePortal.CommonLayer.Utilities.strReportPath +
"test.xls",
XlFileFormat.xlWorkbookNormal, null, null, false, false,
XlSaveAsAccessMode.xlShared, false, false, null, null, null);
oXL.Workbooks.Close();
oXL.Quit();
Marshal.ReleaseComObject(oRng);
Marshal.ReleaseComObject(oXL);
Marshal.ReleaseComObject(oSheet);
Marshal.ReleaseComObject(oWB);
string strFileName = "TimeOut_";
string strDate = FileDate(dr["Date"].ToString());
Response.ContentType = "application/excel";
Response.AppendHeader("Content-Disposition", "attachment;
filename=" + strFileName + strDate + ".xls");
Response.TransmitFile(InsidePortal.CommonLayer.Utilities.
strReportPath + "test.xls");
HttpContext.Current.ApplicationInstance.CompleteRequest();
Response.End();
I am getting below the error.
"Exception from HRESULT: 0x800A03EC"
if any one know this, pls help me very urgent.