【问题标题】:How to convert single sheet in XLS to PDF using VB.NET如何使用 VB.NET 将 XLS 中的单个工作表转换为 PDF
【发布时间】:2011-07-06 22:53:12
【问题描述】:

我有可以将 xls 转换为 pdf 的工作代码,但是,该代码可以转换整个工作簿,我真的只需要从工作簿中选择一个工作表,但我不知道该怎么做。

我目前使用的代码是:

Dim fileName As String = "filepath\filename"
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 & ".xls", UpdateLinks:=False, ReadOnly:=False)
xlsBook.ExportAsFixedFormat(paramExportFormat, fileName & ".pdf", paramExportQuality, paramIncludeDocProps, paramIgnorePrintAreas, paramFromPage, paramToPage, paramOpenAfterPublish)
xlsBook.Close(SaveChanges:=False)
xlsApp.Quit()

我需要在代码中的哪个位置指定工作簿中的工作表?请注意,我需要这样做,以便根据输入到应用程序中的选项,工作表会发生变化,尽管我认为这不会有什么不同,但我想我会以任何一种方式提及它。

【问题讨论】:

  • 可以使用paramFromPage,paramToPage参数吗?
  • 我不知道,但我肯定会尝试,但不确定这会影响工作簿中的实际工作表。
  • 如果它总是打印整个工作簿,并且您想要的工作表在特定页面上,并且工作簿大小从未改变,您应该能够只指定要打印的页面(a很多假设,我知道)。
  • 确实有效,我只是将它们更改为 Integer 并为第 1 页指定了两者,它只转换了第一个工作表(第一页)。
  • 我知道这是一个老问题,但您不记得您是如何指定工作表的吗?

标签: vb.net excel pdf


【解决方案1】:

尝试使用ExportAsFixedFormat方法

Private Sub SaveWorksheetAsPDF()
    Dim mySheet As Microsoft.Office.Tools.Excel.Worksheet = xlsBook(0)

    mySheet.ExportAsFixedFormat( _
        Excel.XlFixedFormatType.xlTypePDF, _
        "c:\myWorksheet", _
        Excel.XlFixedFormatQuality.xlQualityStandard, _
        True, _
        True, _
        1, _
        10, _
        False)
End Sub

【讨论】:

  • 如果您查看我发布的代码,我已经在使用该方法,但我创建了一个工作簿对象并尝试导出单个工作表,而不是我感兴趣的工作表的工作表对象在。
  • 我没有在您的代码中看到您导出一张纸。如果您查看我的代码,我有 xlsBook(0) - 这是第一张纸。在您的代码中,它可能是第二或第三。尝试改用 xlsBook(x)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多