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ファイルに変換することも可能です。
以下は操作手順です。
-
Workbook
とStream
モジュールをインポートします。 -
Workbook
インスタンスを作成し、Workbook.LoadFromFile()
メソッドを使用してExcelファイルを読み込みます。 - Excelファイルのシートをループ処理します:
-
Workbook.Worksheets.get_Item()
メソッドを使用して現在のシートを取得します。 -
Stream
オブジェクトを作成します。 -
Worksheet.ToSVGStream()
メソッドを使用してシートをSVGファイルに変換します。
-
- リソースを解放します。
コード例
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に変換する方法
チャートシートは特別なシートで、グラフのみが含まれています。Workbook.GetChartSheetByName()
を使用してブックから指定したシートを取得し、ChartSheet.ToSVGStream()
を使用してSVGファイルとして保存できます。
以下は操作手順です。
-
Workbook
とStream
モジュールをインポートします。 -
Workbook
インスタンスを作成し、Workbook.LoadFromFile()
メソッドを使用してExcelファイルを読み込みます。 -
Workbook.GetChartSheetByName()
を使用してブックから指定のシートを取得します。 -
Stream
オブジェクトを作成します。 -
ChartSheet.ToSVGStream()
を使用してSVGファイルとして保存します。 - リソースを解放します。
コード例
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フォーマットに変換する方法を紹介しました。シートの変換とチャートシートの変換の両方をカバーしています。
さらに多くのExcelファイル処理のコツについては、Spire.XLS for Pythonのチュートリアルをご覧ください。