Problemer med at åbne Excel-fil på netværksharddisk med C#.NET
Hej eksperterJeg prøver at åbne en Excel fil på min netværksharddisk med følgende kode:
string fileName = @"\\MR-MYBOOK-WE\MyBook\Videoliste.xls";
int row_start 1;
int column_start = 1;
int row_length = 10;
int column_length = 10;
...
try
{
// create a new Application object
Application oXL = new Application();
// open workBook
Workbook oWB = oXL.Workbooks.Open(fileName, Missing.Value, true, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
// select the sheet
Worksheet oSheet = oWB.Sheets.get_Item(1);
// fetch data from each cell of the range:
System.Data.DataTable dt = new System.Data.DataTable("dtExcel");
for (int r = row_start; r <= row_length; r++)
{
DataRow newrow = dt.NewRow();
for (int c = column_start; c <= column_length; c++)
{
// create each column:
if (r == row_start) { dt.Columns.Add(); }
Range oRng = oSheet.Cells[r, c];
string strComment = (oRng.Comment != null) ? " (Comment: " + oRng.Comment.Text(Missing.Value) + ")" : "";
string strText = oRng.Text.ToString();
newrow[c - 1] = strText + strComment;
}
dt.Rows.Add(newrow);
}
oWB.Close(false, Missing.Value, Missing.Value);
oXL.Quit();
using (DataSet ds = new DataSet())
{
ds.Tables.Add(dt);
GridView1.DataSource = ds;
GridView1.DataBind();
}
}
catch (Exception ex)
{
Label1.Text = ex.Message;
}
finally
{
Dispose();
}
Det virker ikke på min server med IIS 7 - jeg får fejlen:
'\\MR-MYBOOK-WE\MyBook\Videoliste.xls' blev ikke fundet. Kontroller stavningen af filnavnet og placeringen af filen. Hvis du på menuen Filer prøver at åbne filen fra listen over de senest anvendte filer, skal du kontrollere, at filen ikke er omdøbt, flyttet eller slettet.
Men det virker fint, hvis jeg kører det i Visual Studio (???)
Baseret på søgninger på Google tror jeg, at det sandsynligvis har noget med access permissions at gøre, men jeg er ikke sikker.
Jeg har prøvet:
- at inkludere <identity impersontate="true" userName="..." password="..." /> med forskellige usernames/passwords i Web.config.
- at ændre rettigheder i Component Services (dcomcnfg) men kan ikke finde noget med Microsoft Excel under DCOM Config mappen.
- at kopiere Excel-filen over til websidens local directory, men så får jeg bare fejlen "Exception from HRESULT: 0x800A03EC" i stedet!
Håber meget, I kan hjælpe mig, da jeg er ved at rive hår ud af hovedet over dette her!
Jeg smider gerne flere point i, hvis det er.
På forhånd mange tak.