2012-10-25 1 views
5

Je reçois l'erreur ci-dessus en essayant d'exporter le classeur Excel 2007 (xlsx) au format PDF. Le classeur contient une seule feuille et j'ai Ms Office 2007 installé sur mon PC Windows 7. Voici le stacktrace"La valeur ne se situe pas dans la plage attendue." erreur lors de l'exportation excel to pdf

at Microsoft.Office.Interop.Excel.WorkbookClass.ExportAsFixedFormat(XlFixedFormatType Type, Object Filename, Object Quality, Object IncludeDocProperties, Object IgnorePrintAreas, Object From, Object To, Object OpenAfterPublish, Object FixedFormatExtClassPtr) 

at schoolwisereportprint.converttopdf() in  
C:\Users\username\Desktop\Dpp2012New\schoolwisereportprint.aspx.vb:line 33 

at schoolwisereportprint.Button1_Click(Object sender, EventArgs e) in C:\Users\username\Desktop\Dpp2012New\schoolwisereportprint.aspx.vb:line 158 

Voici ma fonction converttopdf():

Public Sub converttopdf() 
    Dim fileName As String = Server.MapPath("rahulserver/pdfreprt.xlsx") 
    Dim xlsApp = New Microsoft.Office.Interop.Excel.Application 
    xlsApp.ScreenUpdating = False 
    Dim xlsBook As Microsoft.Office.Interop.Excel.Workbook 
    Dim paramExportFormat As XlFixedFormatType = XlFixedFormatType.xlTypePDF 
    Dim paramExportQuality As XlFixedFormatQuality = XlFixedFormatQuality.xlQualityStandard 
    Dim paramOpenAfterPublish As Boolean = False 
    Dim paramIncludeDocProps As Boolean = True 
    Dim paramIgnorePrintAreas As Boolean = True 
    Dim paramFromPage As Object = Type.Missing 
    Dim paramToPage As Object = Type.Missing 
    xlsBook = xlsApp.Workbooks.Open(fileName, UpdateLinks:=False, ReadOnly:=False) 
    xlsBook.ExportAsFixedFormat(paramExportFormat, "rahulserver/pdfreprt" & ".pdf", paramExportQuality, paramIncludeDocProps, paramIgnorePrintAreas,paramFromPage, paramToPage, paramOpenAfterPublish) 
    xlsBook.Close(SaveChanges:=False) 
    xlsApp.Quit() 
    MsgBox("successfully converted to pdf!") 
End Sub 

Même le changement paramFromPage et paramToPage à 1 et 1 ne respectivement aide pas. J'ai déjà passé une journée entière à résoudre cette erreur mais je n'ai pas trouvé de solution. Maintenant, je regarde SO pour me sortir de cette ...

+1

Avez-vous la permission d'écrire sur le serveur? En outre, je ne suis pas sûr que votre chemin est correct - avez-vous besoin d'un "server.mappath" là-bas? En conclusion: l'utilisation d'interop sur le serveur n'est pas recommandée par Microsoft - peut-être pourriez-vous utiliser EPPLUS pour lire le fichier et Itextsharp pour l'écrire en pdf. –

+1

Vous avez toujours le problème? J'ai le même problème, je l'ai essayé localement et ça marche bien, j'ai aussi essayé d'utiliser pdf995 qui est un convertisseur pdf tiers pour Excel qui fonctionne aussi bien, c'est juste le format exportafixed qui ne semble pas travail, il a cependant travaillé plus tôt aujourd'hui sans aucun changement de code substantiel, donc je pense que c'est un problème excellent – Alex

+0

@Alex oui! J'ai toujours le problème. J'ai essayé tout ce que j'ai pu et j'ai finalement décidé de ne pas avoir cette fonctionnalité dans mon projet. – rahulserver

Répondre

1

Je viens de réaliser que c'était une très vieille question. En passant, le problème était que l'OP n'avait pas installé le complément "2007 Microsoft Office Add-in: Microsoft Enregistrer en PDF".

Vous pouvez constater que here

Questions connexes