0
1

PythonでExcelファイルをSVGファイルに変換する方法

Posted at

SVG(Scalable Vector Graphics)はXMLベースのベクター画像フォーマットです。このフォーマットはWeb開発やその他のグラフィックアプリケーションで非常に人気があり、複雑なベクターグラフィックを効率的に表示する方法を提供します。

ウェブページにExcelの表を埋め込む必要がある場合や、Excelシートを使って直接ウェブページを作成する場合、ExcelファイルをSVGファイルに変換することで、直接的なウェブ埋め込みや作成が可能になります。また、SVGファイルはブラウザで直接開いて閲覧することができるため、Excelファイルの内容を編集する必要がない場合、ExcelシートをSVGフォーマットに変換することで、より多くのデバイスでExcelファイルのデータを閲覧できるようになります。

Pythonを使用することで、この変換プロセスを自動化し、効率的なファイル処理を実現できます。この記事では、Pythonを使用してExcelファイルをSVGフォーマットに変換する方法を紹介します。

この記事で使用する方法は、Spire.XLS for Pythonを必要とします。PyPIからインストールできます:pip install Spire.XLS

無料ライセンスの申請

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のチュートリアルをご覧ください。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1