Excel文件转为其他格式文件
引用:Spire.XLS 是一个 Excel 文件的读写库,无需安装office,使用起来也挺方便的。Spire还有一些其他的库(Spire.Doc,Spire.Pdf……)
说明:Spire.XLS.dll还会实例化Spire.Pdf.dll中的类,所以Spire.XLS.dll ,Spire.Pdf.dll ,Spire.License.dll 这3个dll一起使用
Excel转图片:
//初始化一个Workbook实例,并加载一个工作簿文件
Workbook workbookExcel = new Workbook();
workbookExcel.LoadFromFile(paramSourceBookPath);//路径
//循环将工作表保存为图片
if (workbookExcel != null)
{
for (int i = ; i < workbookExcel.Worksheets.Count; i++)
{
string pngPath = pngDirectoryName + "\\" + (i + ).ToString() + ".png";
Worksheet sheet = workbookExcel.Worksheets[i];
sheet.SaveToImage(pngPath);
sheet.Clear();
Thread.Sleep();
CaptureImage(pngPath, , , pngPath);//截取图片,去掉版本信息
}
}

试用版的spire.xls在转换时,会在文件中加入一个版本信息:Evaluation Warning : The document wascreated with Spire.XLS for .NET,去掉这个信息,我直接截取图片了
/// <summary>
/// 截取图片(去掉版本信息:Evaluation Warning : The document wascreated with Spire.XLS for .NET)
/// </summary>
/// <param name="fromImagePath"></param>
/// <param name="offsetX"></param>
/// <param name="offsetY"></param>
/// <param name="toImagePath"></param>
public void CaptureImage(string fromImagePath, int offsetX, int offsetY, string toImagePath)
{
//原图片文件
Image fromImage = Image.FromFile(fromImagePath);
int width = fromImage.Width;
int height = fromImage.Height - offsetY;
//创建新图位图
Bitmap bitmap = new Bitmap(width, height);
//创建作图区域
Graphics graphic = Graphics.FromImage(bitmap);
//截取原图相应区域写入作图区
graphic.DrawImage(fromImage, , , new Rectangle(offsetX, offsetY, width, height), GraphicsUnit.Pixel);
//从作图区生成新图
Image saveImage = Image.FromHbitmap(bitmap.GetHbitmap());
//释放资源
graphic.Dispose();
bitmap.Dispose();
fromImage.Dispose();
FileInfo oldImage = new FileInfo(fromImagePath);
if (oldImage.Exists)
{
global::System.IO.File.Delete(fromImagePath);
}
//保存图片
saveImage.Save(toImagePath, System.Drawing.Imaging.ImageFormat.Png);
//释放资源
saveImage.Dispose();
}
Excel转其他格式文件:
// 源文件路径
string sourceFilePath = OpenFile.FileName;
SaveFileDialog saveFileDialog = new SaveFileDialog();
switch (fileFormat)
{
case FileFormat.Bitmap:
saveFileDialog.Filter = "Bitmap(*.bmp)|*.bmp";
break;
case FileFormat.PDF:
saveFileDialog.Filter = "PDF Document(*.pdf)|*.pdf";
break;
case FileFormat.ODS:
saveFileDialog.Filter = "OpenOffice Document Spreadsheet(*.ods)|*.ods";
break;
case FileFormat.CSV:
saveFileDialog.Filter = "CSV(*.csv)|*.csv";
break;
case FileFormat.XML:
saveFileDialog.Filter = "XML(*.xml)|*.xml";
break;
case FileFormat.XPS:
saveFileDialog.Filter = "XPS(*.xps)|*.xps";
break;
case FileFormat.Version2007:
saveFileDialog.Filter = "XPS(*.xps)|*.xps";
break;
default:
break;
}
saveFileDialog.FilterIndex = ;
if (saveFileDialog.ShowDialog() != DialogResult.OK)
return;
// 转换后的目标文件路径
string destFilePath = saveFileDialog.FileName;
// 转换
Workbook workbook = new Workbook();
workbook.LoadFromFile(sourceFilePath);
workbook.SaveToFile(destFilePath, fileFormat);
Excel文件转为其他格式文件的更多相关文章
- MATLAB中将mat文件转为txt格式文件
直接保存为txt文件: 可以用fprintf函数,来代替save函数 比如现在我有一个变量a=[0.1223 345.4544] 如果我想保存它的话,可以用下面的程序: fid = fopen(' ...
- winform利用itextsharp.dll实现图片文件转换PDF格式文件
1.利用itextsharp.dll实现单个图片文件转换为PDF格式文件, 可以使用以下类: void ConvertJPG2PDF(string jpgfile, string pdf) { var ...
- C# Word转为多种格式文件(Word转XPS/SVG/EMF/EPUB/TIFF)
一款有着强大的文档转换功能的工具,无论何时何地都会是现代办公环境极为需要的.在本篇文章中,将继续介绍关于Word文档的转换功能(Word转XPS/SVG/EMF/EPUB/TIFF)希望方法中的代码能 ...
- Mac新建文件夹、txt文件、无格式文件
新建文件夹: mkdir test 新建txt touch test.txt 新建无后缀格式文件 touch test 如果要删除文件夹 rm -r -f test
- solidworks的工程图模板文件和图纸格式文件
工程图模板文件:drwdot,这个文件是在新建工程图的时候,可以选择的,如下. 图纸格式文件:slddrt,这个文件是进入工程图环境,编辑[图纸属性]的时候,可以选择的.如下. 怎么定制上述两种文件? ...
- Mac新建文件夹、txt文件、其他格式文件
Mac新建txt,正好有人问我,我就把我自己的方法记录一下: 先cd到你指定的文件路径下: 新建文件夹: mkdir test 新建txt touch test.txt 新建无后缀格式文件 touch ...
- uiautomator日志文件转换为xml格式文件
如果想把uiautomator的日志文件,转换成漂亮的xml文件,那么可以使用automator-log-converter.jar工具, 工具使用方法: 使用工具automator-log-conv ...
- vcf格式文件转化为Excel(csv)格式文件(R语言的write.csv,write.table功能,Excel表的文件导入功能)
最近在整理文件,准备把vcf文件转化为Excel格式,或者CSV格式,网上搜了一堆资料,还真有人专门开发出转化格式的工具:叫vcf2csv(下载地址http://vcf2csv.sourceforge ...
- C#对word、excel、pdf等格式文件的操作总结
一.word 这是我以前工作时写过的一个业务逻辑处理类,里面有不少文件操作的方法,这里主要关注一下C#对word的操作.里面的方法可以直接拿出来用,主要是通过word的dot模版来进行创建word.替 ...
随机推荐
- android小程序-电子钢琴-滑动连续响应
原创文字,转载请标明出处: 利用Button实现简单地电子钢琴,可以简单地响应按钮的click事件来发出相应的声音.但是这样不能达到手指在屏幕滑动,而连续发声的效果,就像手指在真实钢琴按键上滑过一样. ...
- TDate赋值给Variant时注意的问题
//Delphi 10.3.1 32bit, Win 7 32bit procedure TForm1.btnTimeToVariantClick(Sender: TObject); var d:TD ...
- Dubbo/jupiterSPI 扩展引用
ProviderTenantService providerResourceService = ExtensionLoader.getExtension(ProviderTenantService.c ...
- c++ 中:和::理解
1.冒号(:)用法 (1)表示机构内位域的定义(即该变量占几个bit空间) typedef struct _XXX{ unsigned char a:4; unsigned char c; } ; X ...
- python自定义异常抛出接受多个数值
在使用Python的时候,有时候想自己自定义异常错误,同时抛出多个参数,比如对数据库查找一条数据,如果没有找到,返回 {"errCode":"-1", &quo ...
- Python学习笔记第二十三周(Flask架构)
目录: 一.变量引用 内容: 备注:PyCharm小技巧,comm+alt+l 自动修改格式,comm+alt+return 向上添加新行 一.变量引用 1.url生成 from flask im ...
- ss-libev控制脚本
适用于:shadowsocks-libev-3.0.3 操作系统:CentOS6.8 #!/bin/sh SHADOWSOCKS_SERVER="/usr/local/shadowsocks ...
- python list和numpy互换
http://blog.csdn.net/baiyu9821179/article/details/53365476
- elfutils cc1: all warnings being treated as errors
/********************************************************************** * elfutils cc1: all warnings ...
- 【linux】ARM板子开启浮点和neon加速
参考 1. ARM平台NEON指令的编译和优化; 2. 交叉编译器 arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别; 3. https://blog.csdn. ...