精华内容
下载资源
问答
  • 如何在Excel表格中裁剪图片.docx
  • 用OpenPyXL在Excel表格中插入图片 (python) 代码如下: from openpyxl.rawing.image import Image wb = load_workbook('这里写上该Excel的路径') #加载这个工作簿 sheet = wb['sheet的名字'] #选择你要操作的sheet...

    用OpenPyXL在Excel表格中插入图片 (python)

    代码如下:

    from openpyxl.rawing.image import Image
    wb = load_workbook('这里写上该Excel的路径') #加载这个工作簿
    sheet =  wb['sheet的名字'] #选择你要操作的sheet表格
    img = Image('写上要插入的图片的路径') #选择你的图片
    sheet.add_image(img,'要插入的excel里的格子')
    wb.save('保存的路径') #不要忘记保存
    

    好了就是这样。

    展开全文
  • //原装的EXCEL模板 如果要创建新的 NWE XSSFWorkbook()不需要带参数 InputStream i = new FileInputStream( "E:\\x.xlsx" ); //导入我的图片 BufferedImage image = ImageIO.read( new File( "E:\\name...
    public void importExcelForCode(int x, int y, int width, int height,
                String no) throws Exception {
                //原装的EXCEL模板 如果要创建新的 在NWE XSSFWorkbook()中不需要带参数
            InputStream i = new FileInputStream("E:\\x.xlsx");
            //导入我的图片
            BufferedImage image = ImageIO.read(new File("E:\\name.jpg"));
            XSSFWorkbook xssfWorkbook = new XSSFWorkbook(i);
            XSSFSheet sheet = xssfWorkbook.getSheetAt(0);
            XSSFDrawing xssfDrawing = sheet.createDrawingPatriarch();
            //字节流
            ByteArrayOutputStream bao = new ByteArrayOutputStream();
            ImageIO.write(image, "jpg", bao);
                    //设置起始坐标,前四个是xy函数, 后四个是设置起始行列和图形行列 我选择后者
            XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, x, y, width
                    + x, height + y);
            anchor.setAnchorType(0);
            //创建图片
            xssfDrawing.createPicture(anchor, xssfWorkbook.addPicture(
                    bao.toByteArray(), XSSFWorkbook.PICTURE_TYPE_JPEG));
                    //关闭流
            i.close();
            FileOutputStream fos = new FileOutputStream(new File(
                    "E:\\x.xlsx"));
            xssfWorkbook.write(fos);
            new File("E:\\" + no + ".jpg").delete();
        }
    展开全文
  • 需求:Excel表格是学校的...难点: Excel表格中 学校的logo 是图片;是jpg,png,等格式;png格式是 如何正确获取到这张图片。 使用的第三方处理excel表格的库为: \PhpOffice\PhpSpreadsheet 代码: public sta...

    需求:Excel表格是学校的很多信息,包括基本信息,专业信息等,有多个sheet;需以此表格为依据导入到数据库生成一个学校;或者更新一个学校的信息;

    难点: Excel表格中 学校的logo 是图片;是jpg,png,等格式;png格式是 如何正确获取到这张图片。

    使用的第三方处理excel表格的库为:

    \PhpOffice\PhpSpreadsheet

    代码:

    public static function importExcelWithImage($filePath, $startRow = 1)
        {
            $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
            if (!$reader->canRead($filePath))
            {
                $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xls();
                // setReadDataOnly Set read data only 只读单元格的数据,不格式化 e.g. 读时间会变成一个数据等
                if (!$reader->canRead($filePath))
                {
                    throw new NotFoundHttpException('不能读取Excel');
                }
            }
    
            $spreadsheet = $reader->load($filePath);
            $sheetCount = $spreadsheet->getSheetCount();// 获取sheet的数量
    
            // 获取所有的sheet表格数据
            $images = [];
            $excleDatas = [];
            $emptyRowNum = 0;
            for ($i = 0; $i < $sheetCount; $i++)
            {
                $currentSheet = $spreadsheet->getSheet($i); // 读取excel文件中的第一个工作表
                $allColumn = $currentSheet->getHighestColumn(); // 取得最大的列号
                $allColumn = Coordinate::columnIndexFromString($allColumn); // 由列名转为列数('AB'->28)
                $allRow = $currentSheet->getHighestRow(); // 取得一共有多少行
    
                $arr = [];
                for ($currentRow = $startRow; $currentRow <= $allRow; $currentRow++)
                {
                    // 从第1列开始输出
                    for ($currentColumn = 1; $currentColumn <= $allColumn; $currentColumn++)
                    {
                        $cellObj = $currentSheet->getCellByColumnAndRow($currentColumn, $currentRow);
                        $type = $cellObj->getDataType();
                        $val = $cellObj->getValue();
    
    
                        $arr[$currentRow][] = trim($val);
                    }
    
                    // $arr[$currentRow] = array_filter($arr[$currentRow]);
                    // 统计连续空行
                    if (empty($arr[$currentRow]) && $emptyRowNum <= 50)
                    {
                        $emptyRowNum++ ;
                    }
                    else
                    {
                        $emptyRowNum = 0;
                    }
                    // 连续50行数据为空,不再读取后面行的数据,防止读满内存
                    if ($emptyRowNum > 50)
                    {
                        break;
                    }
                }
                //开始处理图片
    
                foreach ($currentSheet->getDrawingCollection() as $drawing) {
                    if ($drawing instanceof MemoryDrawing) {
                        switch ($drawing->getMimeType()) {
                            case MemoryDrawing::MIMETYPE_PNG :
                                $extension = 'png';
                                break;
                            case MemoryDrawing::MIMETYPE_GIF :
                                $extension = 'gif';
                                break;
                            case MemoryDrawing::MIMETYPE_JPEG :
                                $extension = 'jpg';
                                break;
                        }
    
    
                        $gdRes = $drawing->getImageResource();
                        ob_start();
                        if($extension == 'png'){
                            //设置透明
                            imagesavealpha($gdRes,true);
                        }
    
                        call_user_func(
                            $drawing->getRenderingFunction(),
                            $gdRes //$drawing->getImageResource()
                        );
    
                        $imageContents = ob_get_contents();
                        ob_end_clean();
    
                    } else {
                        $zipReader = fopen($drawing->getPath(), 'r');
                        $imageContents = '';
                        while (!feof($zipReader)) {
                            $imageContents .= fread($zipReader, 1024);
                        }
                        fclose($zipReader);
                        $extension = $drawing->getExtension();
                    }
    
                    //列从 0开始,行从1开始 和数据保持一致
                    list($imageStartColumn, $imageStartRow) = Coordinate::coordinateFromString($drawing->getCoordinates());
                    $imageStartColumn = Coordinate::columnIndexFromString($imageStartColumn) -1 ;
    
                    $folder_name = sys_get_temp_dir();
    
                    $myFileName = time() . '_' . mt_rand(100000, 999999) . '.' . $extension;
    
                    $images[] = $arr[$imageStartRow][$imageStartColumn] = $folder_name.'/'.$myFileName;
                    file_put_contents("{$folder_name}/{$myFileName}", $imageContents);
    
                }
    
    
    
                $excleDatas[$i] = $arr; // 多个sheet的数组的集合
            }
    
            return array('data' => $excleDatas, 'images' => $images);
    
        }
    

    注意的地方:

    $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xls();
    // setReadDataOnly Set read data only 只读单元格的数据,不格式化 e.g. 读时间会变成一个数据等

    不要对 $read 进行 setReadDataOnly的设置为true 这样做会使下边无法获取到图片资源,也会对时间等内容产生影响;

    难点的解决代码:

    $gdRes = $drawing->getImageResource();
    ob_start();
    if($extension == 'png'){
        //设置透明
        imagesavealpha($gdRes,true);
    }

    解决的思路:

    1. 查看PhpSpreadsheet 的文档查找对 png格式特殊处理的函数;结果没有找到!

    2. 断点调试代码打印 $gdRes 对象;结果发现它就是 gd库的图片资源类型;这就说明可以使用原始的gd库的方法 imagesavealpha()来设置透明了

    展开全文
  • 读取EXCEL表格中图片

    千次阅读 2010-07-15 22:33:00
    在EXCEL表格内放置图片,假设表格的大小大于图片的宽高,图片完全置于表格内,如何读取某个表格内的图片呢?使用微软的EXCEL组件,直接从CELL或RANGE对象内是无法读取的。图片是独立于单元格的,不从属于任何单元格...
    在EXCEL表格内放置图片,假设表格的大小大于图片的宽高,图片完全置于表格内,如何读取某个表格内的图片呢?使用微软的EXCEL组件,直接从CELL或RANGE对象内是无法读取的。图片是独立于单元格的,不从属于任何单元格,因此无法将图片与CELL或RANGE做对象级上的联系。所有图片都隶属于Shapes集合。每一张图片是一个shape判断一张图片是否在某一单元格内,可以使用坐标位置的方法,如果图片的位置在单元格的位置的高宽范围内,则表示图片在单元格内。判断出一张图片在某单元格内后,可以使用shape对象的CopyPicture方法,将图片复制到剪贴板,再从剪贴板内将图片存到本地。
    示意代码如下:

    for (int row = 1; row <= ws.UsedRange.Rows.Count; row++)
    {
        for (int col = 1; col <= ws.UsedRange.Columns.Count; col++)
      {
          Range rge = ws.Cells[row, col] as Range;
          foreach (Shape sh in ws.Shapes)
        {
            Range rg = excel.get_Range(sh.TopLeftCell, sh.BottomRightCell);
            if (excel.Intersect(rge, rg, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
              Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
              Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing) != null)
          {
              sh.CopyPicture(Appearance.Button, Microsoft.Office.Interop.Excel.XlCopyPictureFormat.xlBitmap);
              IDataObject data = Clipboard.GetDataObject();
              if (data.GetDataPresent(DataFormats.Bitmap))
              {
                  Image image = (Image)data.GetData(DataFormats.Bitmap, true);
                  image.Save("test.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
              }
          }
        }
      }
    }

    展开全文
  • excel表格如何插入图片.doc
  • EXCEL表格超链接图片

    千次阅读 2020-05-08 19:59:14
    excel表格超链接图片只需三步,就能Excel看到那种图了 2、第二项,文件夹整理准备好设备图片。 要注意一点,这些图片的命名,要和Excel的设备名称是一样的哦。 excel表格超链接图片只需三步,就能Excel...
  • Java解析excel表格中图片的方式

    万次阅读 2018-08-16 15:12:40
    我们要用java解析首先得项目引入解析excel的相关包,我们这里使用的是apache的poi-3.12.jar来做开发。  首先获取excel文件,获取文件的方式这里就不细说了,获取到文件后,将文件转成文件输入流 ...
  • python脚本,完成向多个excel中添加同名字或含数字同名字的图片,可批量添加,可编辑修改图片尺寸,可用于向简历批量插入证件照的操作,亲测有效!
  • Excel 表格图片压缩方法 Excel 表格图片压缩方法
  • 通过python向excel表格中插入图片,且设置图片的本地超链接。 代码亲测可行,python版本为3.6.3 import xlsxwriter # 创建一个新Excel文件并添加一个工作表。 workbook = xlsxwriter.Workbook('1.xlsx') ...
  • 一、一层文件夹的照片,插入excel中 1.照片目录下,新建1.txt,内容DIR . /s/b &gt;LIST.TXT,重命名1.bat 2.List.Txt复制出来 3.将照片名称匹配到所插excel中,无法vlookup过来的,手动补全 4.照片插入处...
  • 将长表格图片Excel表格

    万次阅读 多人点赞 2021-07-07 00:43:00
    最近很多朋友和同事问我如何将图片转Excel表格,老实说这方面现成的工具基本都不好使,不过百度AI有支持进行表格图片识别的接口,我们只要按照百度AI的要求传入相应的数据进行识别即可。 需求: 有两张超长的表格...
  • excel表格中批量给图片重命名

    千次阅读 2020-08-10 18:23:25
    3.打开excel表格 插入公式="ren “&A1&”.png “&B1&”.png" - 重点解说一下="ren “&A1&”.png “&B1&”.png"这个公式 A1就是重命名之前的图片名称 B1就是想改成的那
  • 本资源以图片加文字说明的形式,形象直观的介绍了将excel表格转变为图片的快捷方法,适合对excel使用并不非常熟练的朋友。
  • 这几天一直没写博文,但是为了让大山的孩子,能够像京城的富二代一样,可以开开心心公公平平地享受学习excel的权利,因此决定...所谓excel表格批量导出图片,就是从一个excel文件(这个excel里面打开后能看到图片
  • Excel表格转换为图片

    2017-07-10 11:15:14
    C# Excel Img Spire.Xls
  • excel表格里的图片如何保存.doc
  • 利用Matlab读取图片各个像素的RGB颜色值,然后在Excel中将各像素RGB颜色对应地填充到单元格
  • java 读取excel表格 内容、图片、自动上传、图片上传后回调上传地址,并赋值到图片表格位置, 该文件是一个java源码文件 根据自己的需求修改代码
  • Excel表格内容直接转换成图片.常情况下,要将Excel的表格内容复制成图片Word文档中,我们除了使用抓图H软件H就是按键盘上的PrintScreen键来抓 取,这两种方法前者要借助第三方软件来实现,后者虽然简单,但...
  • EXCEL表格内的图片随单元格变更而变更,通常用人员信息表上的照片或者EXCEL表格内有图片变更需求。
  • 为文档添加必要的批注可以给文档使用者提供重要的提示信息,下面的示例,将介绍通过C#编程语言来给Excel表格中的指定单元格内容添加批注,此外,对于已有的批注,如果需要修改,我们也可以进行编辑或者删除批注。...
  • 怎么把一张普通的图片复制到EXCEL表格中以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,...怎么将CAD里的图片复制到EXCEL表格中?谢谢CAD打印到文件(打印机选:PublishToWeb JP...
  • Excel VBA 删除 表格中图片

    千次阅读 2021-01-19 09:18:50
    在excel中建立了一个模板,希望大家使用完成后,里面的数值进行初始化, 那么,就需要将其中的文字、文本框、图片进行删除 Sub DeletePic() Dim p As Shape For Each p In Sheet1.Shapes If p.Type = 13 Then p....
  • excel表格如何制作高清图片.doc
  • excel表格如何保存成图片.doc
  • 如何Python创建Excel表格

    万次阅读 多人点赞 2018-07-31 21:24:56
    但是当我们爬取一些小说或一些图片时,我们需要分类管理这些数据,这时候文件似乎无法直接描述出这些数据的关系,那么我们就需要创建一个Excel表格了   创建Excel表格一般有两种方法: 一:通过导入xlwt库来创建,这种...
  • 静态报表真的很头痛哦,查找很久发现JXL、POI读取excel中自制的统计图表方面存在局限,无法读取;但读取一张图片以及写入图表方面还可以,我的问题解决不了了,肿么办??????   java如何读取excel中自制...
  • Python:Excel表格变成图片

    千次阅读 2019-08-15 22:32:32
    import win32...from PIL import ImageGrab excel = win32.Dispatch('Excel.Application') wb = excel.Workbooks.Open('C:\\test.xlsx') ws2 = wb.WorkSheets('DepartmentW') ws2.Range("A1")....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,914
精华内容 13,965
关键字:

在excel表格中放图片