当前位置: 首页 > 面试题库 >

使用Python从Excel导出图表为图像

臧令
2023-03-14
问题内容

我一直试图将Excel中的图表导出为Python中的图像文件(JPG或ING)。我正在看WIn32com。这是我到目前为止所拥有的。

import win32com.client as win32
excel = win32.gencache.EnsureDispatch("Excel.Application")
wb = excel.Workbooks.Open("<WORKSHEET NAME>")
r = wb.Sheets("<SHEET NAME>").Range("A1:J50") 
# Here A1:J50 is the area over which cart is
r.CopyPicture()

这就是我被困住的地方。我现在需要将所选范围复制到文件中。对文档的任何帮助或指导都可以对我有很大帮助。

我已经基于以下VBA脚本对以上代码进行了建模:

Sub Export_Range_Images()
    ' =========================================
    ' Code to save selected Excel Range as Image
    ' =========================================
    Dim oRange As Range
    Dim oCht As Chart
    Dim oImg As Picture

    Set oRange = Range("A1:B2")
    Set oCht = Charts.Add
    oRange.CopyPicture xlScreen, xlPicture
    oCht.Paste
    oCht.Export FileName:="C:\temp\SavedRange.jpg", Filtername:="JPG"
End Sub

来自以下代码段:http://vbadud.blogspot.com/2010/06/how-to-save-excel-range-as-
image-using.html


问题答案:

我必须查看一些VBA示例才能使其正常工作。尽管我不想回答自己的问题,但我将其留在这里供可能需要的人使用。

    import win32com.client as win32
    wb = excel.Workbooks.Open(excel_file)
    selection = "A1:J30" 
    xl_range = wb.Sheets(<sheet_name>).Range(selection)
    excel.ActiveWorkbook.Sheets.Add(                  After=excel.ActiveWorkbook.Sheets(3)).Name="image_sheet"
    cht = excel.ActiveSheet.ChartObjects().Add(0,0,
                                            xl_range.Width, xl_range.Height)
    xl_range.CopyPicture()
    # add the chart to new sheet
    cht.Chart.Paste()
    # Export the sheet with the chart to a new file
    cht.Chart.Export(<image_filename>)
    # Delete the sheet
    cht.Delete()
    excel.ActiveSheet.Delete()
    # Close the book
    excel.ActiveWorkbook.Close()


 类似资料:
  • 我编写了以下简单的C#控制台应用程序,用于从Excel工作簿导出所有图表。它工作正常,除非打开文档后图表没有滚动到,在这种情况下会生成一个空的图像文件。 我尝试了几次滚动到该对象的失败尝试;程序底部注释掉的行(

  • 我有一个excel工作簿,每张工作表有一个图表和多个工作表,我试图将所有图表作为图片导出到PowerPoints中。问题是我的当前代码无法工作。我的代码出现错误: > 简报按预期打开 将复制我在运行前选择的活动工作表的图表 复制的图表粘贴在PowerPoint中 PowerPoint创建下一张幻灯片 现在问题再次复制同一工作表中的同一图表!我希望代码移动到下一张工作表,选择上面的图表,并在下一张幻

  • 所有图表都可以导出为 PDF 文件。若要导出当前图表,请点击 。 单一图表 比对图表

  • 我正试图将数据从Excel导入到SQL Server表中,但遇到了这个错误。你能建议如何避免这些吗?

  • 我正在使用以下代码将带有图像的数据导出到Excel。 密码 Excel正在正常下载。但问题是当我过滤中的数据时。中的图像位于属性调整大小。如何使图像与属性,?

  • 这个问题涉及一个运行在Ubuntu12.04上的Eclipse Kepler实例。我有一个用例图,我需要将它作为图像文件包含在文档中。我右键点击.di文件,选择导出所有图...然后选择PDF作为文件格式。作为回报,我将得到一个错误窗口,其中包含以下内容: 会话数据: eclipse.buildid=4.3.2.M20140221-1700 java.version=1.6.0_26 java.ve