Nach dem Hosten auf IIS ist es nicht möglich, lokale/Sharepoint-Dateien über Excel zu öffnen und zu bearbeitenC#

Ein Treffpunkt für C#-Programmierer
Guest
 Nach dem Hosten auf IIS ist es nicht möglich, lokale/Sharepoint-Dateien über Excel zu öffnen und zu bearbeiten

Post by Guest »

Ich habe eine Webanwendung, die zum Bearbeiten von im Sharepoint-Pfad gespeicherten Excel-Dateien verwendet wird. Ich verwende Microsoft Office Interop und habe die Excel-Datei lokal installiert. Im Debug-Modus funktioniert alles einwandfrei, aber wenn ich dies für die Produktion freigebe, erhalte ich den in diesem Screenshot gezeigten Fehler:
Image

Ich habe zur Fehlerbehebung auf dem lokalen PC gehostet und das Ergebnis ist dasselbe. Ich weiß nicht, wo ich Änderungen vornehmen muss, um das Problem zu lösen.
Der Code ist
starker Text

Code: Select all

   var excel = new Application { Visible = false};
workbook = excel.Workbooks.Open(@"https://xxx-my.sharepoint.com/personal/xxx/Documents/HIS-Customer%20Registration%20Details/HIS-Customer-Details.xlsx");
worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];

int newRow = worksheet.Range["A" + worksheet.Rows.Count, Type.Missing]
.End[XlDirection.xlUp].Row + 1;

// Fill you cells
worksheet.Cells[newRow, 1] = saveData.PatDemographics.firstname; // Your LastRow + 1 - 3;
worksheet.Cells[newRow, 2] = saveData.PatDemographics.middlename;
worksheet.Cells[newRow, 3] = saveData.PatDemographics.lastname;
worksheet.Cells[newRow, 4] = saveData.PatDemographics.age; ; // Your LastRow + 1 - 3;
worksheet.Cells[newRow, 5] = saveData.PatDemographics.dob;

var eidDtls = saveData.IdentDocuments?.Where(x => x.Referenceid.Contains("EID"));
var passDtls = saveData.IdentDocuments?.Where(x => x.Referenceid.Contains("Passport"));
var appDtls = saveData.IdentDocuments?.Where(x => x.Referenceid.Contains("App No"));

if (eidDtls?.Count() > 0)
{
worksheet.Cells[newRow, 13] = saveData.IdentDocuments?.Where(x => x.Referenceid.Contains("EID"))?.FirstOrDefault().IdentValue;
worksheet.Cells[newRow, 14] = saveData.IdentDocuments?.Where(x => x.Referenceid.Contains("EID"))?.FirstOrDefault().ExpiryDate;
}

if (passDtls?.Count() > 0)
{
worksheet.Cells[newRow, 15] = saveData.IdentDocuments?.Where(x => x.Referenceid.Contains("Passport"))?.FirstOrDefault().IdentValue;
worksheet.Cells[newRow, 16] = saveData.IdentDocuments?.Where(x => x.Referenceid.Contains("Passport"))?.FirstOrDefault().ExpiryDate;
}

if (appDtls?.Count() > 0)
{
worksheet.Cells[newRow, 17] = saveData.IdentDocuments?.Where(x => x.Referenceid.Contains("App No"))?.FirstOrDefault().IdentValue;
worksheet.Cells[newRow, 18] = saveData.IdentDocuments?.Where(x => x.Referenceid.Contains("App No"))?.FirstOrDefault().ExpiryDate;
}
worksheet.Cells[newRow, 19] = DateTime.Now;

// Save changes
workbook.Save();

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post