xml转svg_C# Excel 转PDF/图片/HTML/TXT/XML/XPS/CSV/ODS/SVG/EMF

在日常工作中可能会遇到将某文件转换为其他格式的文件的情况,在本篇文章中将介绍如何在C#程序中将Excel文档转为PDF、IMAGE、HTML、TXT、XML、XPS、CSV、ODS、SVG、EMF、XLSM等格式的文件。

工具使用Free Spire.XLS http://for.NET(免费版)

安装​www.e-iceblue.cn
ea281f19a6157d063fe55b0118dd8d9b.png

安装后,在VS程序中添加引用Spire.XLS.dll即可(该dll可在安装文件下的Bin文件夹中获取)

下面将作详细介绍:

  1. Excel转PDF(该组件也支持将Excel文档里的图表、形状、SmartArt图形以及图像转换为PDF

1.1 转整个Excel工作簿为PDF

//创建一个Wordbook类对象,并加载需要转换的Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:UsersAdministratorDesktoptest.xlsx",ExcelVersion.Version2010);//将Excel文档保存为PDF,并打开转换后的PDF文档
workbook.SaveToFile("result.pdf", Spire.Xls.FileFormat.PDF);
System.Diagnostics.Process.Start("result.pdf");

d44ce222cd1ef9392b2d193923ae9743.png

1.2 转指定工作表为PDF

//创建工作簿并加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:UsersAdministratorDesktopSample.xlsx");//获取第一个工作表
Worksheet sheet = workbook.Worksheets[0];//保存为PDF并打开文档
sheet.SaveToPdf("toPDF.pdf");
System.Diagnostics.Process.Start("toPDF.pdf");

a9c8006b7eec00bc09d18afa2a340bb0.png

2. Excel转Image

2.1将工作表为Image

//初始化一个Workbook实例,并加载一个工作簿文件
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:UsersAdministratorDesktopSample.xlsx");//将第一张工作表保存为图片
Worksheet sheet = workbook.Worksheets[0];
sheet.SaveToImage("sample.jpg");

311a41f3ae8d23c974a2cafcd3f6e6a0.png

2.2转指定范围的单元格为Image

//创建一个Workbook类实例,并从文件中加载一个工作表
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:UsersAdministratorDesktoptest.xlsx");//获取文档中的第一个工作表
Worksheet sheet = workbook.Worksheets[0];//指定单元格范围,保存为想要的图片格式
sheet.SaveToImage(3, 1, 4, 3).Save("image1.png", ImageFormat.Png);
sheet.SaveToImage(5, 1, 19,3).Save("image2.jpeg", ImageFormat.Jpeg);
sheet.SaveToImage(20, 1, 21, 3).Save("image3.bmp", ImageFormat.Bmp);
sheet.SaveToImage(22, 1, 23, 3).Save("image4.bmp", ImageFormat.Bmp);

ff654cc5b09f2f9c89724d608e9f20b3.png

3. Excel转HTML

//创建一个workbook类对象并加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:UsersAdministratorDesktopsample.xlsx");//获取第一个工作表
Worksheet sheet = workbook.Worksheets[0];
//保存为Html文件并打开文档
sheet.SaveToHtml("sample.html");
System.Diagnostics.Process.Start("sample.html");

59bc0c2bee012fbde93789764c460aa6.png

4. Excel转 TXT

Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:UsersAdministratorDesktopsample1.xlsx");Worksheet sheet = workbook.Worksheets[0];
sheet.SaveToFile("ExceltoTxt.txt", " ", Encoding.UTF8);

9c1bf3e4dd72fd20455ebef7292d6e2b.png

5. Excel转XML

Workbook wb = new Workbook();
wb.LoadFromFile(@"C:UsersAdministratorDesktopsample1.xlsx");
wb.SaveAsXml("result.xml");

5eb078c501ad0fe2cffa040d3e7a1583.png

6. Excel转XPS

Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:UsersAdministratorDesktopsample.xlsx", ExcelVersion.Version2010);
workbook.SaveToFile("result.xps", Spire.Xls.FileFormat.XPS);

0b6fe54f3670012eb9df41662c2eec14.png

7. Excel转CSV

Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:UsersAdministratorDesktoptest.xlsx");Worksheet sheet = workbook.Worksheets[0];
sheet.SaveToFile("sample.csv", " ", Encoding.UTF8);

1bc346e3261067f65e682bacdede681e.png

8. Excel转ODS

Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:UsersAdministratorDesktoptest.xlsx");
workbook.SaveToFile("Result.ods", FileFormat.ODS);

b1c99f1b9734ee269fa6d990405896c8.png

9. Excel转SVG

            //创建一个Wordkbook类对象并加载Excel文档Workbook workbook = new Workbook();workbook.LoadFromFile(@"C:UsersAdministratorDesktopSample.xlsx");//遍历Excel工作簿,调用方法ToSVGStream()将文件保存到流,并通过流创建SVG文件for (int i = 0; i < workbook.Worksheets.Count; i++){FileStream fs = new FileStream(string.Format("E:Program Filessheet-{0}.svg", i), FileMode.Create);workbook.Worksheets[i].ToSVGStream(fs, 0, 0, 0, 0);fs.Flush();fs.Close();}

af42f98b3a88d56e3e651e137116255d.png

10. Excel转 EMF

//初始化Workbbok类实例,并加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:UsersAdministratorDesktoptest.xlsx");//获取第一个工作表
Worksheet sheet = workbook.Worksheets[0];//将指定大小范围的工作表保存为Emf格式
sheet.SaveToEMFImage("result.emf", 1, 1, 19, 6, System.Drawing.Imaging.EmfType.EmfPlusDual);

5eea252b0135c948fd05800fac433d62.png

11. Excel转XLSM

Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:UsersAdministratorDesktoptest.xlsx", ExcelVersion.Version97to2003);
workbook.SaveToFile("result.xlsm", FileFormat.Version2007);

8ca27bc10a042b1729c67359cb2251be.png

以上全部内容是本次关于Excel转换为PDF、IMAGE、HTML、TXT、XML、XPS、CSV、ODS、SVG、EMF、XLSM等格式文件的方法介绍.

End.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/490162.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TCP三次握手的序列号和确认号

第一次握手&#xff1a;客户端发送&#xff1a;序列号是随机数x&#xff1b; 第二次握手&#xff1a;服务端回&#xff1a;序列号随机数y&#xff0c;确认号x1&#xff1b; 第三次握手&#xff1a;客户端回&#xff1a;序列号x1&#xff0c;确认号y1

全球大数据发展分析报告

来源&#xff1a;人工智能产业链联盟 国智清创雄安机器人研究院《2018全球大数据发展分析报告》由天府大数据国际战略与技术研究院联合中国科学院虚拟经济与数据科学研究中心、中国科学院大数据挖掘与知识管理重点实验室、成都市大数据协会共同发布。报告对大数据发展历程&am…

三维叉乘怎么算_3分钟做完这些题,你的CAD才算熟练

3分钟做完这些题&#xff0c;你的CAD才算熟练“有没有CAD教程”&#xff0c;“如何学习CAD&#xff1f;”......这样的留言每隔一段时间都能看到。CAD说简单其实也挺简单的&#xff0c;但是深入应用起来确实很难。而因为当中涉及繁杂的功能命令&#xff0c;自然也就成为出教程的…

python列表动态添加_在Python中动态创建列表

我有一堆与不同组关联的项&#xff0c;我最终想为每个组创建一个列表&#xff0c;其中包含所有关联项。在问题是我不知道有多少组&#xff0c;所以如何动态生成正确数量的列表&#xff0c;以及如何调用它们&#xff1f;在我在循环item_list和group_list&#xff0c;这两个不同的…

C和指针 第四章 习题

4.1正数的n的平方根可以通过&#xff1a; ai1 (ai n / ai ) / 2 得到&#xff0c;第一个a1是1,结果会越来越精确。 #include <stdio.h>int main() {double input;double exp;scanf_s("%lf", &input);double aBefore 1;double aNow (aBefore input / a…

技术界与翻译界的交锋:机器翻译离我们还有多远? | 清华AI Time

来源&#xff1a;大数据文摘作为自然语言处理中一项非常重要的应用&#xff0c;现代意义上的机器翻译概念从上世纪40年代提出至今&#xff0c;经过了几代革新&#xff0c;现已初步实现了多场景的落地和应用。近几年随着机器翻译质量的提高&#xff0c;机器翻译代替人工翻译的声…

C++构建二叉树

首先定义树的节点&#xff1a; struct BinaryTreeNode {int m_nValue; BinaryTreeNode* m_pLeft; BinaryTreeNode* m_pRight; }; 定义构建节点和连接节点的方法&#xff1a; BinaryTreeNode* CreateBinaryTreeNode(int value) {BinaryT…

obs噪音抑制调多少合适_TVS瞬态抑制二极管的特性及应用

TVS瞬态抑制二极管的特性及应用瞬态电压抑制器&#xff08;Transient Voltage Suppressor&#xff09;简称TVS&#xff0c;是一种二极管形式的高效能保护器件。当TVS二极管的两极受到反向瞬态高能量冲击时&#xff0c;它能以10-12秒量级的速度&#xff0c;将其两极间的高阻抗变…

python bootstrap 视频_想用Django+ Bootstrap写一个网站, 有哪些比较系统完整的书或者视频可以参考?...

前几天刚是社群的小伙伴写了个博客&#xff0c;Django写博客是很多学习Python人必经之路&#xff0c;今天我特别整理了一个建博客实录出来希望可以是Django学习之路的一个好启发&#xff0c;希望对大家有帮助。——————————1.django简介Django是一个开放源代码的Web应用…

量子计算机混战:新贵离子 vs 老派超导体

来源&#xff1a;云头条作者&#xff1a;Paul Smith-Goodson是知名研究分析公司Moor Insights & Strategy的量子计算常驻分析师。英特尔公司正迅速取得进展&#xff0c;将超导量子计算测试芯片的量子位增加到更多数量&#xff1a;从7个量子位增加到17个量子位&#xff0c;现…

C++万能头文件

<bits/stdc.h>包含了全部的C头文件

射命丸文 (Standard IO)

Description 在幻想乡&#xff0c;射命丸文是以偷拍闻名的鸦天狗。当然&#xff0c;文文的照相机可不止能够照相&#xff0c;还能够消除取景框里面所有的弹幕。假设现在文文面前有一块N行M列的弹幕群&#xff0c;每一个单位面积内有分值有num[i][j]的弹幕。相机的取景框可以将一…

c++ opencv 通过网络连接工业相机_摄像头和机器人视觉开发中的「相机标定」,你了解多少?...

目前我们团队在做一个项目&#xff0c;通过采集到的人脸图像测量人脸上两个瞳孔间的实际距离。注意是实际距离&#xff0c;不是两个瞳孔之间隔多少个像素点。找了很久资料&#xff0c;好像“相机标定”可以解决我的问题&#xff0c;看了不少资料来理解【相机标定】&#xff0c;…

怎么把python模型部署到线上_如何将机器学习模型成功部署到.Net环境中

【IT168 技术】Python和R语言是在数据工程师间最流行的编程语言&#xff0c;但是&#xff0c;它并不能适用于应用程序构建的所有部分。这也就是你为什么有时需要找到一种方法&#xff0c;将Python或R编写的机器学习模型部署到基于.NET等语言的环境中。本文将为大家展示如何使用…

刚刚上班才回来,今天和你说说hash数组

hash算法: 专门接受一个字符串&#xff0c;并计算出一个尽量不重复的编号。相同字符串&#xff0c;计算出的号一定相同&#xff01;不同字符串&#xff0c;计算的号几乎不相同。 添加元素时: 将下标名称交给hash算法&#xff0c;计算出一个唯一的序号&#xff0c;将值保存到数组…

C++ set insert的返回值

pair<iterator,bool> insert (const value_type& val); 返回布尔对以表示是否发生插入&#xff0c;如果重复插入一个元素会返回false。返回迭代器指向新插入元素。

【GNN】一份完全解读:是什么使神经网络变成图神经网络?

图1&#xff1a;来自(Bruna等人&#xff0c;ICLR&#xff0c;2014)的图&#xff0c;描绘了3D领域内的MNIST图像。虽然卷积网络很难对球面数据进行分类&#xff0c;但是图网络可以很自然地处理它。可以把它当做是一个处理工具&#xff0c;但在实际应用程序中会出现许多类似的任务…

TTU智能配电终端_分布式dtu智能配电终端10KV配网自动化专用介绍

SGE300FD 系列分布式配电自动化终端&#xff08;以下简称装置&#xff09;采用了先进的数字信号处理技术、高速工业网络通信技术、嵌入式工业芯片组和多任务实时操作系统&#xff0c;稳定性强、可靠性高、实时性好、环境性广、功能强大、维护简易、操作方便。与20KV及以下电压等…

python程序员怎么面试_Python程序员面试,这些问题你必须提前准备!

近些年随着Python语言越来越流行&#xff0c;越来越多的人选择Python语言作为自己的职业方向。如何在心仪公司的面试中获得好成绩&#xff0c;并最终成功获得offer是每一个Python开发者都要慎重对待的事情&#xff0c;如下是笔者整理的Python程序员在面试中经常被问到的问题&am…

C++ priority_queue对链表节点建立小根堆

链表的节点为&#xff1a; struct ListNode {int val;ListNode *next;ListNode() : val(0), next(nullptr) {}ListNode(int x) : val(x), next(nullptr) {}ListNode(int x, ListNode *next) : val(x), next(next) {}}; 首先对链表节点建立一个结构体&#xff0c;结构体包含节…