当前位置: 首页 > news >正文

施工企业高级工程师土建答辩宁波做seo推广企业

施工企业高级工程师土建答辩,宁波做seo推广企业,返利网站做鹊桥推广,珠海企业落户申请网站以村庄规划制图为例,通过对现状和规划用地的统计,生成Excel格式的【空间功能结构调整表】后,需要进一步将表格导出成图片,并嵌入到图集中,这样可以实现全流程不用手动参与,让制图的流程完全自动化。 关于E…

以村庄规划制图为例,通过对现状和规划用地的统计,生成Excel格式的【空间功能结构调整表】后,需要进一步将表格导出成图片,并嵌入到图集中,这样可以实现全流程不用手动参与,让制图的流程完全自动化。

关于Excel截图的方法,从python、c#都曾经历过,虽然有些方法已经不再用,但还是记录下来。

Excel表格如下:

导出的图片如下:

基本是完美的截图。


1、Python的截图方法

python里处理Excel的库不少,我使用的是PyWin32。

其它的库可能也能实现这个功能,但我没找到。

直接上代码:

import win32com.client as win32
from PIL import ImageGrab
import osexcel = win32.Dispatch('Excel.Application')
wb = excel.Workbooks.Open(excel_file)
ws = wb.WorkSheets(excel_tb)  # 打开工作簿# 示例:截图的起始终止格
start_cell = "B2"
end_cell = "G8"ws.Range(f"{start_cell}:{end_cell}").CopyPicture()  # 变成图片
ws.Paste(ws.Range(start_cell))  # 将图片黏贴在excel中ws.Shapes(ws.Shapes.Count).Copy()  # 图片至剪贴板
img = ImageGrab.grabclipboard()  # 从剪贴板获取图片
img.save(output_png_path)  # 图片保存
wb.Save()  # excel保存
wb.Close()

这里的方法有曲折,相当于选定范围后,在Excel里CTRL+C,CTRL+V,然后再将粘贴后的图片复制出去。

2、C#的截图方法一:【Microsoft.Office.Interop.Excel】

【Microsoft.Office.Interop.Excel】库的功能非常强大,但它需要安装微软的Office才能使用,并且有兼容性和进程占用的问题,缺点也很明显。实际上这个方法之前也写过,这里复述一遍。

using Microsoft.Office.Interop.Excel;
using Application = Microsoft.Office.Interop.Excel.Application;
using Range = Microsoft.Office.Interop.Excel.Range;// Excel指定范围导出JPG图片
public static void ExcelImportToJPG(string excelPath, string startRange, string endRange, string outputPath)
{// 在UI线程上执行添加item的操作System.Windows.Application.Current.Dispatcher.Invoke(() =>{// 例如:A1:G6string rangeAddress = startRange + ":" + endRange;// 创建Excel应用程序对象Application excelApp = new Application();// 打开Excel文件Workbook workbook = excelApp.Workbooks.Open(excelPath);// 获取工作表Worksheet worksheet = workbook.Sheets[1];// 获取范围对象Microsoft.Office.Interop.Excel.Range range = worksheet.Range[rangeAddress];// 获取范围的像素宽度和高度int widthInPixels = (int)Math.Round(range.Width * 1.3333);int heightInPixels = (int)Math.Round(range.Height * 1.3333);// 创建位图对象Bitmap bitmap = new Bitmap(widthInPixels, heightInPixels);// 将范围内容复制到剪贴板range.CopyPicture(XlPictureAppearance.xlScreen, XlCopyPictureFormat.xlBitmap);// 获取剪贴板图像数据System.Drawing.Image clipboardImage = null;if (System.Windows.Forms.Clipboard.ContainsImage()){clipboardImage = System.Windows.Forms.Clipboard.GetImage();// 在位图上绘制剪贴板图像using (Graphics graphics = Graphics.FromImage(bitmap)){graphics.DrawImage(clipboardImage, 0, 0);}// 将位图保存为图片文件bitmap.Save(outputPath, ImageFormat.Jpeg); // 或者保存为PNG图片,将第二个参数改为ImageFormat.Png}// 关闭和释放资源workbook.Close(false);excelApp.Quit();System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp);// 清空剪贴板数据System.Windows.Forms.Clipboard.Clear();});
}

3、C#的截图方法二:【Aspose.cells】

考虑到【Microsoft.Office.Interop.Excel】库的一些问题实在无法解决,后来选择了【Aspose.cells】库作为替代,那这个截图方法也得解决。

经网友【俊,】的帮助,【Aspose.cells】同样实现了这一方法,完美替代了【Microsoft.Office.Interop.Excel】。

代码如下:

using Aspose.Cells;
using Aspose.Cells.Rendering;// Excel指定范围导出JPG图片
public static void ExcelImportToJPG(string excelPath, string Range, string outputPath)
{// 打开工作薄System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);LoadOptions loadOptinos = new LoadOptions(LoadFormat.Xlsx);Workbook wb = new Workbook(excelPath, loadOptinos);// 打开工作表Worksheet sheet = wb.Worksheets[0];// 定义要截图的单元格范围   例:Range = "B2:G26"Range range = sheet.Cells.CreateRange(Range);// 设置打印属性ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();// 在一页内打印imgOptions.OnePagePerSheet = true;// 只打印区域内imgOptions.OnlyArea = true;// 打印SheetRender render = new SheetRender(sheet, imgOptions);render.ToImage(0, outputPath);// 保存wb.Save(excelPath);wb.Dispose();
}
http://www.hrbkazy.com/news/27942.html

相关文章:

  • 做美食教程的网站有哪些软文平台
  • 佛山网站快速优化排名平台推广策略都有哪些
  • 做微信平台网站需要多少钱外国网站开放的浏览器
  • wordpress批量传图片外链优化
  • 建站空间麒麟seo外推软件
  • 全国企业信息公示系统查询网站优化推广外包
  • 互联网推广怎么学seo推广费用需要多少
  • 在税务网站怎么做三方协议百度起诉seo公司
  • 我是做网站的 怎么才能提高业绩淘宝运营团队怎么找
  • 怎么用网站模板手机网站怎么优化关键词
  • 网站建设的石家庄网络营销
  • 济南网站排名推广专注于品牌营销服务
  • html5网站怎么建设后台怎么弄上海推广网络营销咨询热线
  • 网站设计模式品牌营销策划有限公司
  • 六安网站建设网络推广的方法和技巧
  • 手机网站 微信链接宝鸡seo优化公司
  • 河北网络公司网站建设天津seo网站推广
  • 一般的美工可以做网站吗关键词歌词打印
  • 哪些网站可以做教师资格证题目利尔化学股票
  • 广州做网站公司电话一个平台怎么推广
  • 饲料行业怎么做网站谷歌浏览器下载安装2021最新版
  • 网站建设费如何入账seo和sem的区别
  • 新建网站求友链平台百度推广运营这个工作好做吗
  • 免费vip影视网站怎么做的腾讯广点通
  • 怎么做幼儿园网站引流人脉推广软件
  • 米枫网站怎么做分页建网站的公司排名
  • 做企业网站需要准备什么材料白云区最新疫情
  • 免费房屋装修设计廊坊seo关键词排名
  • 域名去掉wordpress安卓优化大师下载安装到手机
  • 国外idc网站南宁网站运营优化平台