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

相关推荐
牛哇网络工作室5 小时前
UnityHDRP写实数字人全流程基础5—语音输入和语音识别
android·unity·c#·游戏引擎·aigc·语音识别·xcode
hsjiasb5 小时前
FreeRTOS学习(二十七)——任务栈与栈溢出检测
开发语言·stm32·学习·学习笔记·freertos
丰锋ff6 小时前
3.1 Qt事件之事件处理器
开发语言·qt
多弗朗皮卡丘6 小时前
C语言梦开始的地方7:函数
c语言·开发语言
月华路6 小时前
G1 垃圾回收:脏卡队列、记忆集与并发精化线程机制
java·开发语言
gugucoding7 小时前
47. 【Java】Java内存模型(JMM)与可见性
java·开发语言
m0_380743877 小时前
从零调用 Claude 教程
开发语言·python·node.js
起床学FPGA7 小时前
AI回答问题之后,会自动跳到最下面的问题
开发语言·javascript·ecmascript
x_x-F8 小时前
网络数据从网卡到用户态:一场基于内存所有权转移的接力赛
开发语言·网络·php
名字还没想好☜8 小时前
Java 线上内存泄漏排查实战:jmap 导堆、MAT 找 GC Roots 与四类常见泄漏
java·开发语言·jvm·内存泄漏