Сохранение рабочего листа XLS в Classic ASP на сервере Windows2012 под управлением IIS8.5 - частично работает - PullRequest
0 голосов
/ 25 октября 2019

Итак, наш программист покинул гнездо, и мы перешли к решению Win2012. Веб-сайт работает нормально, все хорошо, за исключением Excel, и, в частности, только одна строка кода дает сбой.

Мы запускаем ASP classic для веб-сайта в IIS, объект Excel создается отлично, диаграмма сохраняется вправильная папка, но при попадании:

wb.SaveAs "D: \ WEBSITES \ test.xls"

страница выдается с ошибкой 500, а затем оставляет в памяти Excel в диспетчере задач,Если я удаляю сохранение в XLS, JPG прекрасно сохраняет данные с графика, а код продолжает работать и корректно закрывается. Поскольку код между сервером 2003 года и этим сервером 2012 года не изменился, я немного озадачен тем, почему он решает потерпеть неудачу сейчас.

Любая помощь с этим будет наиболее ценной, я не знаю, занимаюсь веб-вещами и когда я делаюЭто нормально, чтобы разобраться с проблемами COM, и так как он работает, это просто серьезная проблема, что этот бит не работает. Заранее спасибо ! :)

<%


    Dim xlapp   ' Our Excel App
    Dim wb      ' Our Workbook within the Excel App
    Dim ws      ' Our Worksheet within the Workbook 
    Dim crt     ' The chart object
    Dim SourceRange ' The Source Range for the chart object

    Const xlWorkSheet = -4167 
    Const xlLineMarkers = 65

    Set xlapp = CreateObject("Excel.Application")

    Set wb = xlapp.Workbooks.Add(xlWorksheet)
    Set ws = wb.Worksheets(1)


    xlapp.DisplayAlerts = false


    Set SourceRange = ws.Range("A3:B6")
    Set crt = ws.ChartObjects.Add(0, 0, 480, 383)
    crt.Chart.ChartWizard SourceRange, 3, , 2, 1, 0, 2, "Virgin Chaser Report " & formatdatetime(now(),2)
    crt.Chart.ChartType = 51


    crt.Chart.HasTitle = True
    crt.Chart.ChartTitle.Text = "Virgin Chaser Report " & formatdatetime(now(),2)
    crt.Chart.ChartTitle.AutoScaleFont = false
    crt.Chart.ChartTitle.font.Name = "Arial"
    crt.Chart.ChartTitle.font.Size = 12
    crt.Chart.ChartTitle.font.Strikethrough = False
    crt.Chart.ChartTitle.font.Superscript = False
    crt.Chart.ChartTitle.font.Subscript = False
    crt.Chart.ChartTitle.font.OutlineFont = False
    crt.Chart.ChartTitle.font.Shadow = False    

    crt.Chart.Export "D:\WEBSITES\test.jpg"
    wb.SaveAs "D:\WEBSITES\test.xls"


    wb.Saved = True
    Set crt = Nothing
    Set wb = Nothing
    xlapp.Quit
    Set xlapp = Nothing


response.end()

%>

1 Ответ

0 голосов
/ 01 ноября 2019

Нашел: (чье-то исправление переполнения стека - это работает и с Office 2000) в Win2012, IIS 8.5

Наконец-то все исправили. Вот что сработало, если у кого-нибудь в будущем появится такая же ошибка.

Мы добавили ОБА папки:

C: \ Windows \ System32 \ config \ systemprofile \ Desktop C: \ Windows \SysWOW64 \ Config \ systemprofile \ Desktop

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...