SVG(Scalable Vector Graphics)是一种基于XML的矢量图像格式。这种格式在Web开发和其他图形应用中非常流行,提供了一种高效的方式来呈现复杂的矢量图形。如果我们需要在网页中嵌入Excel表格,或是直接使用Excel工作表制作网页,可以将其转换为SVG文件来实现直接的网页嵌入和制作。同时,由于SVG文件能够在浏览器中直接打开查看,在不需要对Excel文件内容进行编辑的情况下,将Excel工作表转换为SVG格式也可以在更多的设备上实现Excel文件数据查看。而使用Python,我们可以自动化这一转换过程,实现高效的文件处理。本文将介绍如何使用Python转换Excel文件为SVG格式

  • 用Python将Excel工作表转换为SVG文件
  • 用Python将Excel图表工作表转换为SVG

本文所使用的方法需要用到Spire.XLS for Python,PyPI:pip install Spire.XLS

申请免费License

用Python将Excel工作表转换为SVG文件

我们可以使用Worksheet.ToSVGStream(stream: Stream, firstRow: int, firstColumn: int, lastRow: int, lastColumn: int)来将Excel文件中的工作表转换为SVG文件。其中的参数可以指定需要转换为单元格范围,我们也可以将参数设置为0来转换所有已使用的单元格为SVG文件。
以下是操作步骤。

  1. 导入WorkbookStream模块。
  2. 创建Workbook实例,使用Workbook.LoadFromFile()方法再入Excel文件。
  3. 循环Excel文件中的工作表:

    • 使用Workbook.Worksheets.get_Item()方法获取当前工作表。
    • 创建Stream对象。
    • 使用Worksheet.ToSVGStream()方法将工作表转换为SVG文件。
  4. 释放资源。

代码示例

from spire.xls import Workbook, Stream

# 创建Workbook实例
workbook = Workbook()

# 加载一个Excel文件
workbook.LoadFromFile("Sample.xlsx")

# 遍历所有工作表
for i in range(0, workbook.Worksheets.Count):
    # 获取工作表
    worksheet = workbook.Worksheets.get_Item(i)
    # 创建一个Stream对象
    svgStream = Stream("output/SVGs/sheet" + str(i+1) + ".svg")
    # 将工作表保存为SVG文件
    worksheet.ToSVGStream(svgStream, 0, 0, 0, 0)
    svgStream.Flush()
    svgStream.Close()

# 释放资源
workbook.Dispose()

转换结果
Python Excel工作表转SVG

用Python将Excel图表工作表转换为SVG

图表工作表是一种特殊的工作表,其中只包含一个图表。我们可以使用Workbook.GetChartSheetByName()从工作簿中获取指定工作表,然后使用ChartSheet.ToSVGStream()将其保存为SVG文件。
以下是操作步骤。

  1. 导入WorkbookStream模块。
  2. 创建Workbook实例,使用Workbook.LoadFromFile()方法再入Excel文件。
  3. 使用Workbook.GetChartSheetByName()从工作簿中获取指定工作表。
  4. 创建Stream对象。
  5. 使用ChartSheet.ToSVGStream()将其保存为SVG文件。
  6. 释放资源。

代码示例

from spire.xls import Workbook, Stream

# 创建Workbook实例
workbook = Workbook()

# 加载一个Excel文件
workbook.LoadFromFile("Sample.xlsx")

# 获取一个图表工作表
chartSheet = workbook.GetChartSheetByName("Chart1")

# 创建一个Stream实例
stream = Stream("output/SVGs/ChartSheetToSVG.svg")

# 将图表工作表转换为SVG
chartSheet.ToSVGStream(stream)

# 释放资源
stream.Close()
workbook.Dispose()

转换结果
Python Excel图表工作表转SVG

本文演示了如何使用Python将Excel文件转换为SVG格式,包括转换工作表和转换图表工作表。

更多Excel文件处理技巧请前往Spire.XLS for Python教程查看。


大丸子
12 声望3 粉丝