首页 > 其他分享 >Excel 图片

Excel 图片

时间:2024-04-28 18:58:19浏览次数:16  
标签:Excel shape workbook XSSFWorkbook siteImgMap 图片

    /**
     * 获取图片
     * Excel文件中某一列都为图片 多列图片这里需要读取指定的列c1
     *
     * @param workbook   workbook
     * @param siteImgMap Map<Integer,List<byte[]>> siteImgMap多图片
     */
    private void arrangeExcelImg(XSSFWorkbook workbook, Map<Integer, byte[]> siteImgMap) {
        if (workbook.getSheetAt(0).getDrawingPatriarch() != null) {
            for (XSSFShape shape : workbook.getSheetAt(0).getDrawingPatriarch().getShapes()) {
                XSSFClientAnchor anchor = (XSSFClientAnchor) shape.getAnchor();
                if (shape instanceof XSSFPicture) {
                    XSSFPicture pic = (XSSFPicture) shape;
                    short c1 = anchor.getCol1();//列
                    int r1 = anchor.getRow1();  //行
                    XSSFPictureData pictureData = pic.getPictureData();
                    byte[] imageData = pictureData.getData();
                    siteImgMap.put(r1, imageData);
                }
            }
        }
    }

调用方法: 注意类似电话号码需要额外处理例如正则表达式去除非数字字符等

//上传的Excel文件
        Workbook workbook = new XSSFWorkbook(file.getInputStream());
        //总图片
        Map<Integer, byte[]> siteImgMap = new HashMap<>();
        this.arrangeExcelImg((XSSFWorkbook) workbook, siteImgMap);
        //获取sheet 化粪池基础信息台账
        Sheet sheet = workbook.getSheetAt(0);
        //总行数
        int lastRowNum = sheet.getLastRowNum();
        List<ImportEchoListVO> listVOList = new ArrayList<>();
        for (int i = 3; i <= lastRowNum; i++) {
             //获取当前Sheet 单元格第 i_行 0_列 值  
             PoiCellUtil.getCellValue(sheet, i, 0).replaceAll("[^\\d]", ""); // 返回纯数字格式的电话号码
}  
 

 参考:https://www.cnblogs.com/mystyle123/p/15806480.html   https://www.cnblogs.com/liang-shi/p/16812900.html

标签:Excel,shape,workbook,XSSFWorkbook,siteImgMap,图片
From: https://www.cnblogs.com/eplh/p/18164300

相关文章

  • python将图片添加到视频底层中(提高处理单个视频的效率)
    代码: importcv2importnumpyasnpimportosimportrandomfromconcurrent.futuresimportThreadPoolExecutor#图片文件夹路径image_folder_path=r'F:\jingguan\tu'#视频文件所在的文件夹路径video_folder_path=r'F:\jingguan\yuan'#输出视频文件夹路径ou......
  • 通过fatsadmin阿里云OSS存储插件-生成二维码图片,并上传阿里云OSS存储空间里
    #生成二维码并上传到阿里云OSSif(!function_exists('create_qrcode')){functioncreate_qrcode($url){$filename=time().rand(100,999).'.png';$path='uploads/qrcode/'.$filename;$code=newQRcode();$......
  • python爬取指定网址图片代码
    代码importosimportrequestsfrombs4importBeautifulSoup#指定要爬取的网址url='https://www.baidu.com/'#请求网页内容response=requests.get(url)response.raise_for_status()#如果请求失败,将抛出异常#使用BeautifulSoup解析网页内容soup=Beautif......
  • python将图片添加到视频底层中
    代码:importcv2importnumpyasnpimportosimportrandom#图片文件夹路径image_folder_path='path_to_your_images_folder'#视频文件所在的文件夹路径video_folder_path='path_to_your_videos_folder'#输出视频文件夹路径(如果不存在则创建)output_folder_pat......
  • Python中有很多库可以操作Excel,像xlsxwriter、openpyxl、pandas、xlwings等
    Python中确实有多个库可以用于操作Excel文件,包括但不限于xlsxwriter、openpyxl、pandas和xlwings。以下是这些库的简要介绍和它们各自的优点:xlsxwriter:优点:专门用于创建新的.xlsx文件。提供了丰富的功能来创建复杂的Excel文档,包括图表、图片、自动筛选等。性能相对较......
  • Excel文本转公式
    FunctionEval(RefAsString)Application.VolatileEval=Evaluate(Ref)EndFunctionSUBSTITUTE函数在Excel中用于将文本字符串中的一部分替换为其他字符串。它的语法如下:SUBSTITUTE(text,old_text,new_text,[instance_num])其中:text是要进行替换操作的原......
  • js+canvas图片裁剪
    canvas裁剪图片功能实现选择图片文件,预览原图裁剪图片显示裁剪后的图片调整裁剪区域大小获取裁剪后的图片图片裁剪功能优化<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=dev......
  • VGA显示图片
    VGA显示图片1. VGA显示图片的原理图片比之前显示的色块和字符的数据量大,所以使用rom来存储图片。用到ROMIP。可以存放mif和hex格式,需要先把图片转换成mif格式。 2. 如何制作mif文件先用windows自带的画图工具打开图片,调整大小。步骤:点击重新调整大小,不勾选“保持从横比”......
  • 累计预扣法个税,怎么算?(附excel)
    累计预扣法个税计算依法纳税是每个公民的义务,但看着每个月递增的个税,你可能会发出疑问,这到底是怎么算的?这就要引出2019年1月1日实施新实施的个税法,累计预扣法。即自2019年1月1日起,居民个人的工资、薪金所得将按照累计预扣法进行个税的预扣预缴。1.累计预扣法计算公式累计预扣预......
  • vue,js直接导出excel,xlsx的方法,XLSX_STYLE 行高设置失效的问题解决
    1、先安装依赖:xlsx、xlsx-style、file-saver三个包npminstallxlsxxlsx-stylefile-saver2、引入:<script>import*asXLSXfrom'xlsx/xlsx.mjs'importXLSX_STYLEfrom'xlsx-style';import{saveAs}from'file-saver';exportdefau......