一、将当前Excel文件装换为图片
1.需要引用Spire.Xls dll,可以去网上下载;
2.对应方法
public class XLS
{
/// <summary>
/// Excel转图片
/// </summary>
/// <param name="filePath">文件路径</param>
/// <param name="saveFileName">保存文件名</param>
/// <param name="imageFormat">保存文件格式</param>
/// <returns></returns>
public static bool ExcelToPicture(string filePath, string saveFileName, ImageFormat imageFormat)
{
bool result = false;
try
{
Workbook workbook = new Workbook();
workbook.LoadFromFile(filePath);
Worksheet sheet = workbook.Worksheets[0];
//文件保存路径 C:\Program Files (x86)\IIS Express
sheet.SaveToImage(saveFileName + "." + imageFormat.ToString());
result = true;
}
catch (Exception ee)
{
}
return result;
}
/// <summary>
/// Excel转图片
/// </summary>
/// <param name="firstRow">首行</param>
/// <param name="firstColumn">首列</param>
/// <param name="lastRow">尾行</param>
/// <param name="lastColumn">尾列</param>
/// <param name="filePath">文件路径</param>
/// <param name="saveFileName">保存文件名</param>
/// <param name="imageFormat">保存文件格式</param>
/// <returns></returns>
public static bool ExcelToPicture(int firstRow, int firstColumn, int lastRow, int lastColumn, string filePath, string saveFileName, ImageFormat imageFormat)
{
bool result = false;
try
{
Workbook workbook = new Workbook();
workbook.LoadFromFile(filePath);
Worksheet sheet = workbook.Worksheets[0];
//文件保存路径 C:\Program Files (x86)\IIS Express
sheet.SaveToImage(firstRow, firstColumn, lastRow, lastColumn).Save(saveFileName, ImageFormat.Jpeg);
result = true;
}
catch (Exception ee)
{
}
return result;
}
/// <summary>
/// 图片剪切
/// </summary>
/// <param name="filepath">源文件路径</param>
/// <param name="CutHight">需要裁剪上下边框高度</param>
/// <param name="CutWidth">裁剪宽度</param>
/// <param name="thumbnailPath">图片输出路径</param>
/// <param name="imageFormatIn">图片输入格式</param>
/// <param name="imageFormatOut">图片输出格式</param>
/// <returns></returns>
public static bool CutImage(string filepath, int CutHight, int CutWidth, string thumbnailPath, ImageFormat imageFormatIn, ImageFormat imageFormatOut)
{
bool result = false;
try
{
System.Drawing.Image originalImage = System.Drawing.Image.FromFile(filepath);
int allW = originalImage.Width;
int allH = originalImage.Height;
// int oW = allW;
//int oH = allH;
int towidth = allW - CutHight;
int toheight = allH - CutWidth;
//新建一个bmp图片
System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth, toheight);
//新建一个画板
Graphics g = System.Drawing.Graphics.FromImage(bitmap);
//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//清空画布并以透明背景色填充
g.Clear(Color.Transparent);
//在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(originalImage, new Rectangle(0, 0, allW, allH), new Rectangle(CutHight, CutHight, towidth, toheight), GraphicsUnit.Pixel);
//以jpg格式保存缩略图
string path = thumbnailPath + Path.GetFileNameWithoutExtension(filepath) + "." + imageFormatOut.ToString();
bitmap.Save(thumbnailPath, imageFormatOut);
g.Dispose();
bitmap.Dispose();
result = true;
}
catch (Exception ee)
{
}
return result;
}
}