c#如何将excel文件保存为图片文件?

huxiaomin734 2015-09-03 08:58:52
如题,c#如何将excel文件保存为图片文件?
...全文
2207 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
WDYDXF 2017-03-20
  • 打赏
  • 举报
回复
引用 9 楼 ajianchina 的回复:
已替你测试通过

using Aspose.Cells;
using Aspose.Cells.Rendering;

public void ExcelToImg()
{
	Workbook book = new Workbook(@"f:\book.xlsx");
	Worksheet sheet = book.Worksheets[0];

	sheet.PageSetup.LeftMargin = 0;
	sheet.PageSetup.RightMargin = 0;
	sheet.PageSetup.BottomMargin = 0;
	sheet.PageSetup.TopMargin = 0;

	ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
	imgOptions.ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg;

	imgOptions.OnePagePerSheet = true;
	imgOptions.PrintingPage = PrintingPageType.IgnoreBlank;

	SheetRender sr = new SheetRender(sheet, imgOptions);
	sr.ToImage(0, "f:\\book.jpg");
}
Excel文件 生成图片
强,移动客户端回复的
ajianchina 2015-09-04
  • 打赏
  • 举报
回复
是可以将工作表转换为BMP、PNG、JPEG、TIFF和EMF等图片格式的,你自己试试就知道了。
ajianchina 2015-09-04
  • 打赏
  • 举报
回复
也很简单的啊,下载一个Aspose.Cells引用一下,都是破解的,功能强大,我用他主要是不想写太多代码,我在asp.net里操作excel也是用这个。生成图片:

Workbook book = newWorkbook("d:\\Book1.xls");
//创建一个图表选项的对象
ImageOrPrintOptions imgOptions = newImageOrPrintOptions();
//设置图片类型
imgOptions.setImageFormat(ImageFormat.getPng());
//获取第一张工作表
Worksheet sheet = book.getWorksheets().get(0);
//创建一个纸张底色渲染对象
SheetRender sr = new SheetRender(sheet, imgOptions);
for (int j = 0; j < sr.getPageCount(); j )
{
	//将工作表转为图片
	sr.toImage(j, "d:\\files\\mysheetimg_" j ".png");
}
huxiaomin734 2015-09-04
  • 打赏
  • 举报
回复
引用 4 楼 ajianchina 的回复:
很好解决的,你用一个picturebox放入excel文件的打印预览,然后picturebox.Image.Save(),就好了。 预览本就是图片了,呵呵。 对了,你可以将纸张高度根据实际内容来设,保证在一张图里就行。 思路给了,没几行代码,自己不会的地方再到网上搜索一下就行。
感谢您,但是我需要用web程序来完成,看是否有别的解决方法?
da21 2015-09-04
  • 打赏
  • 举报
回复
ajianchina 2015-09-04
  • 打赏
  • 举报
回复
很好解决的,你用一个picturebox放入excel文件的打印预览,然后picturebox.Image.Save(),就好了。 预览本就是图片了,呵呵。 对了,你可以将纸张高度根据实际内容来设,保证在一张图里就行。 思路给了,没几行代码,自己不会的地方再到网上搜索一下就行。
huxiaomin734 2015-09-04
  • 打赏
  • 举报
回复
引用 9 楼 ajianchina 的回复:
已替你测试通过

using Aspose.Cells;
using Aspose.Cells.Rendering;

public void ExcelToImg()
{
	Workbook book = new Workbook(@"f:\book.xlsx");
	Worksheet sheet = book.Worksheets[0];

	sheet.PageSetup.LeftMargin = 0;
	sheet.PageSetup.RightMargin = 0;
	sheet.PageSetup.BottomMargin = 0;
	sheet.PageSetup.TopMargin = 0;

	ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
	imgOptions.ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg;

	imgOptions.OnePagePerSheet = true;
	imgOptions.PrintingPage = PrintingPageType.IgnoreBlank;

	SheetRender sr = new SheetRender(sheet, imgOptions);
	sr.ToImage(0, "f:\\book.jpg");
}
Excel文件 生成图片
成功了!感激不尽!
huxiaomin734 2015-09-04
  • 打赏
  • 举报
回复
有人帮忙解决下吗?
ajianchina 2015-09-04
  • 打赏
  • 举报
回复
已替你测试通过

using Aspose.Cells;
using Aspose.Cells.Rendering;

public void ExcelToImg()
{
	Workbook book = new Workbook(@"f:\book.xlsx");
	Worksheet sheet = book.Worksheets[0];

	sheet.PageSetup.LeftMargin = 0;
	sheet.PageSetup.RightMargin = 0;
	sheet.PageSetup.BottomMargin = 0;
	sheet.PageSetup.TopMargin = 0;

	ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
	imgOptions.ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg;

	imgOptions.OnePagePerSheet = true;
	imgOptions.PrintingPage = PrintingPageType.IgnoreBlank;

	SheetRender sr = new SheetRender(sheet, imgOptions);
	sr.ToImage(0, "f:\\book.jpg");
}
Excel文件 生成图片
huxiaomin734 2015-09-04
  • 打赏
  • 举报
回复
引用 6 楼 ajianchina 的回复:
也很简单的啊,下载一个Aspose.Cells引用一下,都是破解的,功能强大,我用他主要是不想写太多代码,我在asp.net里操作excel也是用这个。生成图片:

Workbook book = newWorkbook("d:\\Book1.xls");
//创建一个图表选项的对象
ImageOrPrintOptions imgOptions = newImageOrPrintOptions();
//设置图片类型
imgOptions.setImageFormat(ImageFormat.getPng());
//获取第一张工作表
Worksheet sheet = book.getWorksheets().get(0);
//创建一个纸张底色渲染对象
SheetRender sr = new SheetRender(sheet, imgOptions);
for (int j = 0; j < sr.getPageCount(); j )
{
//将工作表转为图片
sr.toImage(j, "d:\\files\\mysheetimg_" j ".png");
}


十分感谢您!
我下载了一个Aspose.Cells.dll引用了,但是里面好像有的方法是不存在的,请您指教下!
huxiaomin734 2015-09-03
  • 打赏
  • 举报
回复
引用 1 楼 guwei4037 的回复:
http://stackoverflow.com/questions/1287879/programmatically-c-convert-excel-to-an-image

这里面提供的答案有几个思路:
1、使用现成的控件来实现。
比如:http://www.e-iceblue.com/Tutorials/Spire.XLS/Spire.XLS-Program-Guide/Convert-Excel-to-Image-Worksheet-to-Image-in-C-VB.NET.html
http://www.spreadsheetgear.com/support/samples/imaging.aspx
2、间接思路。
从excel先转成pdf,然后再读取pdf里面的图片。
http://www.cnblogs.com/amylis_chen/p/3754814.html



谢谢您提供的思路,您给的网站注册后激活的邮件好像不能发到邮箱,间接思路,我的表格比较宽,转成pdf的话会被截成两半,请您再帮忙点拨点拨。谢谢!
我的excel表格是不固定的,下面是我表格的一种

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧