преобразовать файл .xlsx в книгу .xls (97-2003) C# - PullRequest
0 голосов
/ 13 января 2020

Я пытаюсь преобразовать файл .xlsx в книгу .xls (97-2003). который может иметь около 1000 строк и более. Есть ли какой-нибудь пакет nuget, который я могу использовать бесплатно? я пытался использовать Microsoft.Office.Interop.Excel, но это не сработало на IIS.

    string sourceFileName = appSettings.ImageDirectory + "Report.xlsx";
    string DestFileName = appSettings.ImageDirectory + "Report.xls";
    object oMissing = Type.Missing;
    var app = new Microsoft.Office.Interop.Excel.Application();
    var wb = app.Workbooks.Open(sourceFileName, oMissing, oMissing,
                                    oMissing, oMissing, oMissing, oMissing, 
    oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, 
    oMissing);
    wb.Application.DisplayAlerts = false;
    wb.SaveAs(DestFileName , 
    Microsoft.Office.Interop.Excel.XlFileFormat.xlExcel8, Type.Missing, 
    Type.Missing, Type.Missing, Type.Missing, 
    Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, 
    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    app.Quit();
    string fullPath = appSettings.ReportFolderPath + "/Report.xls"; 
    return Json(new { path = fullPath, errorMessage = "" });

1 Ответ

0 голосов
/ 14 января 2020

Насколько я знаю, вы не могли использовать Microsoft.Office.Interop.Excel на сервере, где Excel не установлен.

Microsoft.Office.Interop.Excel.dll - это просто переводчик (называемый Interop Assembly ), чтобы помочь вам поговорить с Excel.

Вы можете попробовать использовать Закрыт XML для достижения ваших требований.

...