“值不在预期范围内。”将excel导出为pdf时出错

“值不在预期范围内。”将excel导出为pdf时出错

问题描述:

尝试将excel 2007(xlsx)格式工作簿导出为pdf时出现上述错误。该工作簿只包含一个工作表,我在Windows 2003 sp2服务器上安装了Ms Office 2007。

这是我的converttopdf()函数:



I am getting the above error while trying to export the excel 2007(xlsx) format workbook to pdf. The workbook contains only one sheet and I have Ms Office 2007 installed on windows 2003 sp2 server.
Here is my converttopdf() function:

Dim excelApplication As Microsoft.Office.Interop.Excel.ApplicationClass = New Microsoft.Office.Interop.Excel.ApplicationClass()
        Dim excelWorkbook As Microsoft.Office.Interop.Excel.Workbook = Nothing
        Dim paramSourceBookPath As String = Server.MapPath(".") & "\" & "TempFile1" & "\" & "TotalRPT1.xlsx"
        Dim paramExportFilePath As String = Server.MapPath(".") & "\" & "TempFile1" & "\" & "TotalRPT1.pdf"
        Dim paramExportFormat As Microsoft.Office.Interop.Excel.XlFixedFormatType = _
            Microsoft.Office.Interop.Excel.XlFixedFormatType.xlTypePDF
        Dim paramExportQuality As Microsoft.Office.Interop.Excel.XlFixedFormatQuality = Microsoft.Office.Interop.Excel.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
        Try
            ' Open the source workbook.
            Dim wkbs As Workbooks = excelApplication.Workbooks
            excelWorkbook = wkbs.Open(paramSourceBookPath, False, True)
            Dim file As FileInfo = New FileInfo(paramExportFilePath)
            If (file.Exists) Then
                Try
                    file.Delete()
                Catch ex As Exception

                End Try
            End If

            ' Save it in the target format.
            If Not excelWorkbook Is Nothing Then
                excelWorkbook.ExportAsFixedFormat(paramExportFormat, _
                    paramExportFilePath, paramExportQuality, _
                    paramIncludeDocProps, paramIgnorePrintAreas, _
                    paramFromPage, paramToPage, paramOpenAfterPublish)
            End If
        Catch ex As Exception
            ' Respond to the error.
        Finally
            ' Close the workbook object.
            If Not excelWorkbook Is Nothing Then
                excelWorkbook.Close(False)
                excelWorkbook = Nothing
            End If

            ' Quit Excel and release the ApplicationClass object.
            If Not excelApplication Is Nothing Then
                excelApplication.Quit()
                excelApplication = Nothing
            End If

            GC.Collect()
            GC.WaitForPendingFinalizers()
            GC.Collect()
            GC.WaitForPendingFinalizers()
        End Try

默认情况下,MS Office 2007不支持导出为pdf选项。您需要为此下载加载项。

以下链接将解决您的问题。



2007 Microsoft Office Add -in:Microsoft另存为PDF或XPS
MS Office 2007 does not support 'export' to pdf option by default. You need to download Add-Ins for that.
Following link will solve your problem.

2007 Microsoft Office Add-in: Microsoft Save as PDF or XPS