如何使用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 天的试用许可证。

相关推荐
CSharp精选营4 小时前
我用 ASP.NET Core 做了个水稻病虫害检查系统
c#·毕业设计·.net core·码农刚子
唐青枫4 小时前
我用 C# 开发了一款电子发票自动整理工具
c#·.net
下页、再停留4 小时前
【C#桌面客户端系列学习-2】在原来窗口基础上打开新窗口
c#·visual studio
Behavior4 小时前
Unity 手游 iOS Deep Link 唤醒全流程:从 URL Scheme / Universal Links 到 C# 层参数投递
c#·unity3d·游戏开发
我是唐青枫4 小时前
我用 C# 开发了一款电子发票自动整理工具
c#·.net
codigger4 小时前
ObjectSense:一门千行内核、把可靠性写进骨子里的面向对象脚本语言
开发语言·编程·编程语言
WAKU5 小时前
C#: 爸爸再爱我一回! 写在微软使用Rust重写GitHub Copilot之后的碎碎念
microsoft·rust·微软·c#·编程语言
唐青枫5 小时前
别把 WPF 写成一个 MainWindow:C#.NET Prism 模块化开发详解
c#·.net
用户788477316345 小时前
WPF 数据绑定 5 个隐形坑:第 3 个 90% 的人都栽过
c#
小羊没烦恼!6 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#