com excel virker ikke på windows-server 2003
HejJeg har lavet en excel-generator som virker fint lokalt på maskinen men ikke på webserveren (windows 2003 server).
Efter at have googlet mig frem så jeg at windows-serveren kræver at officepakken bliver installeret. Dette har jeg gjort (og brugte en licens på.... )
Jeg fik efterfølgende fejlen:
Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005
og læste:
http://blog.crowe.co.nz/archive/2006/03/02/589.aspx
Jeg har givet adgang for excel-mappen på serveren. Og fejlen er der ikke mere. Til gengæld for der ikke er nogen fejlmedd. popper excel-arket ikke frem. Kan nogen hjælpe mig med dette?
Kode:
using System.Reflection;
using Excel = Microsoft.Office.Interop.Excel;
protected void LinkButtonExcel_Click(object sender, EventArgs e)
{
string deliveryadress = "jewaijofå";
if (getUser().WareHouseID == 2)
deliveryadress = "jweaoijf";
else
deliveryadress = "wefjwpefj";
Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook xlWorkBook = null;
Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet = null;
xlWorkBook = new Microsoft.Office.Interop.Excel.Application().Workbooks.Add(Missing.Value);
xlWorkBook.Application.Visible = true;
xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.ActiveSheet;
xlWorkSheet.Cells[1, 1] = "Date";
xlWorkSheet.Cells[1, 2] = "SP-No";
xlWorkSheet.Cells[1, 3] = "PickUpAddress";
xlWorkSheet.Cells[1, 4] = "SP-OrderNo";
xlWorkSheet.Cells[1, 5] = "SP-reference";
xlWorkSheet.Cells[1, 6] = "Weight";
xlWorkSheet.Cells[1, 7] = "WorkOrderNo"; // theRow["Ordreref."]
xlWorkSheet.Cells[1, 8] = "MaterialNo";
xlWorkSheet.Cells[1, 9] = "Description";
xlWorkSheet.Cells[1, 10] = "SerialNo";
xlWorkSheet.Cells[1, 11] = "ReturnNo";
xlWorkSheet.get_Range("A1", "K1").Font.Bold = true;
xlWorkSheet.get_Range("A1", "K1").Interior.ColorIndex = 44;
// Danish notation
xlWorkSheet.get_Range("A2", "A200").Cells.NumberFormat = "åååå-MM-DD";
// English notation
// xlWorkSheet.get_Range("A2", "A200").Cells.NumberFormat = "yyyy-MM-DD";
xlWorkSheet.get_Range("G2", "G200").Cells.NumberFormat = "#"; // WorkOrdernumber Cells[i, 7]
// DataSet dataset = GetPartReturnsByDatePhysicallyReturned(Convert.ToDateTime("2009-01-06"));
DataSet dataset = GetPartReturnsByDatePhysicallyReturned(Convert.ToDateTime(Convert.ToDateTime(Date.Text)));
int i = 2;
foreach (DataRow theRow in dataset.Tables[0].Rows)
{
DateTime dt = Convert.ToDateTime(theRow["Date"]);
xlWorkSheet.Cells[i, 1] = theRow["Date"];
xlWorkSheet.Cells[i, 2] = "0011291297";
xlWorkSheet.Cells[i, 3] = deliveryadress;
xlWorkSheet.Cells[i, 4] = theRow["Ordrenr."];
xlWorkSheet.Cells[i, 5] = theRow["SP-reference"];
xlWorkSheet.Cells[i, 7] = theRow["Ordreref."]; // WorkOrdernumber - Vendorreferencenumber
xlWorkSheet.Cells[i, 8] = theRow["Mat.nr."];
xlWorkSheet.Cells[i, 9] = theRow["Varebesk."];
xlWorkSheet.Cells[i, 10] = theRow["Serienr."];
xlWorkSheet.Cells[i, 11] = theRow["Returnr."];
i++;
}
// Autofit the columns
xlWorkSheet.Columns.AutoFit();
}