Ich musste IIS Benutzererlaubnis geben, die Anwendung zu verwenden. Erstellen Sie einen Ordner C: Windows Syswow64 config SystemProfile Desktop für 64-Bit-Systeme und setzen Sie die Berechtigungseinstellungen, um den IIS-Benutzer zu ermöglichen.
Microsoft Interop Library: Die Excel -Arbeitsmappe kann in IIS8 nicht öffnen
Frage
Ich habe also eine Funktion:
public static void ProcessWorkSheet(string fileName, string month, string year,
string thread)
{
//version number location
int version_row = 10;
int version_column = 2;
SeedsDBEntities db = new SeedsDBEntities();
try
{
//Instance of Excel
ExcelApp = new Microsoft.Office.Interop.Excel.Application();
ExcelApp.Visible = true;
ExcelApp.DisplayAlerts = false;
WorkBook = ExcelApp.Workbooks.Open(@fileName, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
(Microsoft.Office.Interop.Excel.Worksheet)WorkBook.Worksheets.get_Item(month);
.
.
//the rest of the code
}
Ich verwende Microsoft.Interop Library, um aus einem Excel -Blatt aus zu lesen und in einer Datenbank zu speichern. Das Problem hier ist, dass ich eine "Objektreferenz, die nicht auf eine Instanz eines Objekts festgelegt" erhalte, wenn der Code versucht, die Arbeitsmappe auf IIS 8 zu öffnen. Es funktioniert gut in Visual Studio 2010. Was könnte das Problem sein?
Lösung
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow