2014-04-24 2 views
0

C#을 사용하여 Excel 파일을 만들려고합니다. 내 코드는 Windows 서버 2008에서 제대로 작동하지만 Windows Server 2012 R2, iis 서버 8.5, ms office 2007 표준에서 오류가 발생합니다. 그 줄에 나에게 오류를 말하는 것은asp.net에서 Excel 파일을 만들 때 오류가 발생했습니다.

oWB = (Excel._Workbook)(oXL.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet)); 

error: [COMException (0x800a03ec):microsoft office can not save or open more documents.

+1

문서가 너무 많아 문서가 닫히거나 제대로 처리되지 않을 수 있습니다. – dmportella

+0

해당 상자가 64 비트로 실행되고 있습니까? ? – rene

+0

64 비트에서 실행 중이고 파일이 열려 있지 않습니다. –

답변

1

당신은 Excel에서 ASP.NET 응용 프로그램에서 COM 자동화

  • 를 사용

    • 파일을 만들기 위해 노력하고 있습니다.

    이 조합은 officially unsupported by Microsoft입니다 : 따라서

    Microsoft does not currently recommend, and does not support, Automation of Microsoft Office applications from any unattended, non-interactive client application or component (including ASP, ASP.NET, DCOM, and NT Services), because Office may exhibit unstable behavior and/or deadlock when Office is run in this environment.

    , 그것은 당신의 Windows Server 2008에서 지금까지 일했다면, 그것은 단순한 우연의 일치이었다. 당신은 운이 좋았습니다. 프로덕션 시스템에서해야 할 일이 아닙니다.

    는 ASP.NET에서 Excel 파일을 만들어 사용할 수있는 다양한 솔루션 중 하나를 사용하십시오

    이 (개인적으로, 나는 SpreadsheetLight 좋은 경험을하지만, 어떤 다른 솔루션도 좋습니다.)

  • 0

    그것은 그것이 당신이 레지스트리 해킹을 시도하지만, 염두에 두어야 할 수 윈도우 서버 2008와 함께 잘 작동하기 때문에 코드에 문제가 아니라고 가능 그 당신이 당신의 레지스트리의 지점 또는 백업 복원 만들 수 있습니다, 그래서 잘못된 레지스트리 수정이 치명적일 수 :

    1. 실행> regedt32를
    2. 는 다음의 값을 수정 : HKEY_CURREN 소프트웨어 \ 마이크로 소프트 \ WINDOWS \ T_USER \ CurrentVersion을 \ Explorer를 \ 사용자 쉘 폴더 당신의 사용자 쉘 폴더를 선택 캐시 키에서

    는 내가 찾을 솔루션이 있습니다 자신의 디렉토리에 할당 레지스트리 수정없이 문제가 발생하면 this 링크 또는 this one을 방문하십시오. 도움이 될 것입니다. 이 중 어느 것도 작동하지 않는다면 "Microsoft Office는 더 많은 문서를 저장하거나 열 수 없으며"Excel과 관련된 문제를 확인하십시오. 다시 한번, 문제는 귀하의 코드 안에 없다고 가정합니다.

    관련 문제