如何使用C#代码将 Excel 文件转换为 SVG

SVG 是 Scalable Vector Graphics(可缩放矢量图形)的缩写,是一种适合在 Web 上使用的矢量图像格式。与其他图像格式相比,SVG 具有许多优势,其中最显著的一点是分辨率无关性,这意味着无论如何缩放 SVG 图像,都不会损失图像质量。有时,为了在网页中展示内容,你可能需要将 Excel 文件转换为 SVG。本文将演示如何使用 Spire.XLS for .NET,通过 C# 和 VB.NET 以编程方式将 Excel 转换为 SVG。

安装 Spire.XLS for .NET

首先,你需要将 Spire.XLS for .NET 软件包中包含的 DLL 文件添加为 .NET 项目的引用。这些 DLL 文件可以通过该链接下载,也可以通过 NuGet 进行安装。

cs 复制代码
PM> Install-Package Spire.XLS

使用 C# 和 VB.NET 将 Excel 工作表转换为 SVG

Spire.XLS 提供了 Worksheet.SaveToSVGStream() 方法,可将 Excel 工作表转换为 SVG。具体步骤如下:

  1. 初始化一个 Workbook 类的实例。

  2. 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。

  3. 通过 Workbook.Worksheets[int] 属性,根据索引获取指定的工作表。

  4. 初始化一个 FileStream 类的实例。

  5. 使用 Worksheet.ToSVGStream(Stream, int, int, int, int) 方法将工作表保存为 SVG。

具体示例代码如下:

cs 复制代码
using Spire.Xls;
using System.IO;

namespace ConvertWorksheetToSVG
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建 Workbook 类的实例
            Workbook workbook = new Workbook();
            //加载 Excel 文件
            workbook.LoadFromFile("Sample1.xlsx");

            //获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            //创建 FileStream 类的实例
            FileStream fs = new FileStream("E:\\Program Files\\WorksheetToSVG.svg", FileMode.Create);
            //将工作表保存为 SVG
            sheet.ToSVGStream(fs, 0, 0, 0, 0);
            fs.Flush();
            fs.Close();            
        }
    }
}

使用 C# 和 VB.NET 将 Excel 图表工作表转换为 SVG

图表工作表(Chart Sheet)是一种只包含图表的工作表。Spire.XLS 允许通过 ChartSheet.ToSVGStream() 方法将图表工作表转换为 SVG。具体步骤如下:

  1. 初始化一个 Workbook 类的实例。

  2. 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。

  3. 通过 Workbook.Chartsheets[int] 属性,根据索引获取指定的图表工作表。

  4. 初始化一个 FileStream 类的实例。

  5. 使用 ChartSheet.ToSVGStream(Stream) 方法将图表工作表保存为 SVG。

具体示例代码如下:

cs 复制代码
using Spire.Xls;
using System.IO;

namespace ConvertChartSheetToSVG
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建 Workbook 类的实例
            Workbook workbook = new Workbook();
            //加载 Excel 文件
            workbook.LoadFromFile("Sample2.xlsx");

            //获取第一个图表工作表
            ChartSheet chartSheet = workbook.Chartsheets[0];

            //创建 FileStream 类的实例
            FileStream fs = new FileStream("E:\\ProgramFiles\\ChartSheetToSVG.svg", FileMode.Create);
            //将图表工作表保存为 SVG
            chartSheet.ToSVGStream(fs);
            fs.Flush();
            fs.Close();
        }
    }
}

申请临时许可证

如果你希望移除生成文档中的评估提示,或解除功能限制,请为自己申请一个为期 30 天的试用许可证。

相关推荐
头发还在的女程序员12 分钟前
医院陪诊管理系统怎么选择?——2026 年选型避坑与架构参考
java·开发语言·陪诊系统·陪诊app·医院陪诊陪护
爱写代码的小朋友2 小时前
从零开始学 Win32 API:C++ 窗口编程实战(VS Code + MinGW-w64 命令行详解)
开发语言·c++
果汁华2 小时前
Function Calling 与 Python 实战完整指南
开发语言·网络·python
小小晓.3 小时前
C++:语句和作用域
开发语言·c++
wanderist.3 小时前
Lambda表达式在算法竞赛中的应用
java·开发语言·算法
海天鹰4 小时前
PHP上传文件
android·开发语言·php
Yeauty6 小时前
渲染成图再 CLI 拼接,还是进程内直推?Rust 帧到视频的两条路
开发语言·rust·音视频
geovindu6 小时前
CSharp: Breadth First Search Algorithm and Depth First Search Algorithm
开发语言·后端·算法·c#·.net·搜索算法
库克克7 小时前
【C++】set 与multiset
开发语言·c++
Wang's Blog7 小时前
Go-Zero项目开发34: 微服务超时控制与重试机制实践
开发语言·微服务·golang·go-zero