将图片插入到excel中

  1.  static void Main(string[] args)  
  2.         {  
  3.   
  4.             //说明:插入图片  
  5.   
  6.             //1.创建EXCEL中的Workbook           
  7.             IWorkbook myworkbook = new HSSFWorkbook();  
  8.   
  9.             //2.创建Workbook中的Sheet          
  10.             ISheet mysheet = myworkbook.CreateSheet("sheet1");  
  11.   
  12.             //第一步:读取图片到byte数组  
  13.             HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://img1.soufunimg.com/message/images/card/tuanproj/201511/2015112703584458_s.jpg");  
  14.   
  15.             byte[] bytes;  
  16.             using (Stream stream = request.GetResponse().GetResponseStream())  
  17.             {  
  18.                 using (MemoryStream mstream = new MemoryStream())  
  19.                 {  
  20.                     int count = 0;  
  21.                     byte[] buffer = new byte[1024];  
  22.                     int readNum = 0;  
  23.                     while ((readNum = stream.Read(buffer, 0, 1024)) > 0)  
  24.                     {  
  25.                         count = count + readNum;  
  26.                         mstream.Write(buffer, 0, 1024);  
  27.                     }  
  28.                     mstream.Position = 0;  
  29.                     using (BinaryReader br = new BinaryReader(mstream))  
  30.                     {  
  31.   
  32.                         bytes = br.ReadBytes(count);  
  33.                     }  
  34.                 }  
  35.             }  
  36.              
  37.             //第二步:将图片添加到workbook中  指定图片格式 返回图片所在workbook->Picture数组中的索引地址(从1开始)  
  38.             int pictureIdx = myworkbook.AddPicture(bytes, PictureType.JPEG);  
  39.   
  40.             //第三步:在sheet中创建画部  
  41.             IDrawing patriarch = mysheet.CreateDrawingPatriarch();  
  42.   
  43.             //第四步:设置锚点 (在起始单元格的X坐标0-1023,Y的坐标0-255,在终止单元格的X坐标0-1023,Y的坐标0-255,起始单元格行数,列数,终止单元格行数,列数)  
  44.             IClientAnchor anchor =patriarch.CreateAnchor(0,0,0,0,0,0,2,2);  
  45.   
  46.   
  47.             //第五步:创建图片  
  48.             IPicture pict = patriarch.CreatePicture(anchor, pictureIdx);  
  49.         
  50.             //6.保存         
  51.             FileStream file = new FileStream(@"E:\myworkbook11.xls", FileMode.Create);  
  52.             myworkbook.Write(file);  
  53.             file.Close();  
  54.         }  
  55.     }  

效果: 

转载于:https://www.cnblogs.com/xuanhai/p/5806519.html

### 回答1: 可以使用Python的openpyxl库来将图片插入Excel。具体步骤如下: 1. 导入openpyxl库和PIL库(用于处理图片): ```python from openpyxl import Workbook from openpyxl.drawing.image import Image from PIL import Image as PILImage ``` 2. 创建一个Workbook对象,并选择要插入图片的工作表: ```python wb = Workbook() ws = wb.active ``` 3. 加载要插入图片,并将其转换为openpyxl的Image对象: ```python img = PILImage.open('image.jpg') img_xl = Image(img) ``` 4. 将Image对象插入到指定单元格: ```python ws.add_image(img_xl, 'A1') ``` 5. 最后保存Excel文件: ```python wb.save('example.xlsx') ``` 完整代码示例: ```python from openpyxl import Workbook from openpyxl.drawing.image import Image from PIL import Image as PILImage wb = Workbook() ws = wb.active img = PILImage.open('image.jpg') img_xl = Image(img) ws.add_image(img_xl, 'A1') wb.save('example.xlsx') ``` ### 回答2: Python是一种高级编程语言,它可以用于不同的应用程序和任务,其之一就是将图片插入Excel。在Python,我们可以使用一些图像处理库和Excel操作库来实现这个功能。 首先,我们需要安装Python图像处理库。其一个主流的库是Pillow库,它是Python Imaging Library的一个分支。Pillow库提供了各种图像处理和图形显示的函数和类。可以在Python很方便地安装Pillow,只需要打开终端窗口或命令提示符窗口,然后键入以下命令: ```python pip install Pillow ``` 接下来,我们需要安装Python的Excel程序库,其主要的库之一是openpyxl。它是用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。可以在Python很方便地安装openpyxl,只需要打开终端窗口或命令提示符窗口,然后键入以下命令: ```python pip install openpyxl ``` 然后,我们可以使用Pillow库来读取并操作我们要插入Excel表格的图像。将图像读取到Pillow对象,可以使用Image.open()函数,例如: ```python from PIL import Image img = Image.open('your_image_path.jpg') ``` 然后,我们可以使用openpyxl库创建一个Excel文件,并将图像插入Excel。首先,我们需要使用Workbook()函数创建一个新的Excel文件对象,然后使用active属性选择第一个工作表。然后,我们可以使用add_image()函数将图像插入到单元格,例如: ```python import openpyxl from openpyxl.drawing.image import Image wb = openpyxl.Workbook() sheet = wb.active img = Image('your_image_path.jpg') sheet.add_image(img, 'A1') wb.save('your_excel_file.xlsx') ``` 在上面的代码,我们使用Image()函数将要插入Excel的图像读取到了openpyxl的Image对象,然后使用add_image()方法将其插入到单元格“A1”。最后,我们使用save()方法将Excel文件保存到本地磁盘上。 总的来说,通过使用Python的Pillow和openpyxl库,可以轻松地将图像插入Excel表格。我们只需要读取图像,然后使用openpyxl库将其插入到合适的单元格,最后将Excel文件保存到本地磁盘上即可。这个过程非常简单和直接,也很适合初学者使用。 ### 回答3: 在Python,我们可以使用openpyxl和Pillow库来实现将图片插入Excel的操作。以下是详细步骤: 第一步:安装必要库 使用pip install指令安装openpyxl和Pillow库,可以使用以下命令: pip install openpyxl pip install Pillow 第二步:读取Excel文件 使用openpyxl的load_workbook函数来读取Excel文件,如下所示: from openpyxl import load_workbook workbook = load_workbook('example.xlsx') worksheet = workbook.active 第三步:插入图片 使用Pillow库的Image函数来读取图片,使用openpyxl的drawing函数来插入图片插入图片的具体步骤如下: from openpyxl.drawing.image import Image from openpyxl.utils import get_column_letter from openpyxl.drawing.image import Image img = Image('example.jpg') #设置单元格宽度和高度 worksheet.column_dimensions[get_column_letter(column)].width = img.width worksheet.row_dimensions[row].height = img.height #将图片插入单元格 worksheet.add_image(img, f"{get_column_letter(column)}{row}") 注意:需要根据图片所在的位置,设置单元格宽度、高度和行列编号。 第四步:保存Excel文件 使用openpyxl的save函数来保存Excel文件,如下所示: workbook.save('example.xlsx') 完整代码如下所示: from openpyxl import load_workbook from openpyxl.worksheet.dimensions import ColumnDimension, DimensionHolder from openpyxl.utils import get_column_letter from openpyxl.drawing.image import Image from openpyxl.utils import range_boundaries from openpyxl.worksheet.cell_range import CellRange from PIL import Image as IMG workbook = load_workbook('example.xlsx') worksheet = workbook.active img = Image('example.jpg') # 设置单元格宽度和高度 worksheet.column_dimensions[get_column_letter(2)].width = img.width worksheet.row_dimensions[2].height = img.height #将图片插入单元格 worksheet.add_image(img, f"B2") #保存Excel文件 workbook.save('example.xlsx')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值