问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

熟悉PHPExcel的来,问题:从上传的excel中读取图片并分离出图片保存在网站特定目录下

发布网友 发布时间:2022-04-07 08:28

我来回答

3个回答

懂视网 时间:2022-04-07 12:50

要实现读取excel中的图片,可以通过phpspreadsheet来实现。phpspreadsheet是一个纯php编写的库,并引入了命名空间、PSR规范等。

使用composer安装phpspreadsheet

composer require phpoffice/phpspreadsheet

GitHub下载:

https://github.com/PHPOffice/PhpSpreadsheet

(免费视频教程推荐:php视频教程)

excel图片如下图:

7ead23da258f75fdf3cbfce2f8b7bd8.png

项目实例:

use PhpOfficePhpSpreadsheetCellCoordinate;
use PhpOfficePhpSpreadsheetIOFactory;
$imageFilePath = './uploads/imgs/'; //图片本地存储的路径
if (!file_exists($imageFilePath)) { //如果目录不存在则递归创建
 mkdir($imageFilePath, 0777, true);
}
try {
 $inputFileName = './files/1.xlsx'; //包含图片的Excel文件
 $objRead = IOFactory::createReader('Xlsx');
 $objSpreadsheet = $objRead->load($inputFileName);
 $objWorksheet = $objSpreadsheet->getSheet(0);
 $data = $objWorksheet->toArray();
 foreach ($objWorksheet->getDrawingCollection() as $drawing) {
 list($startColumn, $startRow) = Coordinate::coordinateFromString($drawing->getCoordinates());
 $imageFileName = $drawing->getCoordinates() . mt_rand(1000, 9999);
 switch ($drawing->getExtension()) {
 case 'jpg':
 case 'jpeg':
 $imageFileName .= '.jpg';
 $source = imagecreatefromjpeg($drawing->getPath());
 imagejpeg($source, $imageFilePath . $imageFileName);
 break;
 case 'gif':
 $imageFileName .= '.gif';
 $source = imagecreatefromgif($drawing->getPath());
 imagegif($source, $imageFilePath . $imageFileName);
 break;
 case 'png':
 $imageFileName .= '.png';
 $source = imagecreatefrompng($drawing->getPath());
 imagepng($source, $imageFilePath, $imageFileName);
 break;
 }
 $startColumn = ABC2decimal($startColumn);
 $data[$startRow-1][$startColumn] = $imageFilePath . $imageFileName;
 }
 dump($data);die();
} catch (Exception $e) {
 throw $e;
}
public function ABC2decimal($abc)
{
 $ten = 0;
 $len = strlen($abc);
 for($i=1;$i<=$len;$i++){
 $char = substr($abc,0-$i,1);//反向获取单个字符
 $int = ord($char);
 $ten += ($int-65)*pow(26,$i-1);
 }
 return $ten;
}

结果如图:

3c6886e3cc2e015c0187f01ea9bbde7.png

相关文章教程推荐:php教程

热心网友 时间:2022-04-07 09:58

require_once '../Classes/PHPExcel/IOFactory.php';

$objReader = PHPExcel_IOFactory::createReader('Excel5');
// 设置载入含有贴图的 sheet
$objReader->setLoadSheetsOnly(array('sheet1'));
$objPHPExcel = $objReader->load('test.xls');

$drawing = new PHPExcel_Writer_Excel2007_Drawing();

$drawingHashTable = new PHPExcel_HashTable();
$drawingHashTable->addFromSource($drawing->allDrawings($objPHPExcel));

for ($i = 0; $i < $drawingHashTable->count(); ++$i)
{
$memoryDrawing = $drawingHashTable->getByIndex($i);
if ($memoryDrawing instanceof PHPExcel_Worksheet_MemoryDrawing)
{
$filename = 'images/' . $memoryDrawing->getCoordinates() . '_' . $memoryDrawing->getHashCode() . '.jpg';
// 将图片存到指定的目录
imagejpeg($memoryDrawing->getImageResource(), $filename);
// 获得该图片所在的单元格
$cell = $memoryDrawing->getWorksheet()->getCell($memoryDrawing->getCoordinates());
// 将该单元格的值设置为单元格的文本加上图片的 img 标签
$cell->setValue($cell->getValue() . '<img src="' . $filename . '" />');
}
}
// 再处理将这些单元格的值存入数据库
// ... ...

热心网友 时间:2022-04-07 11:16

你的100分估计白扔了。。还不如给我吧。。 这个问题太难了吧。
使用PHPExcelReader类文件将Excel读取,并保存至PostgreSQL数据库中...

既然是主键有问题 那么看看 如果设置为空是否好使 把所有问题改为最简单的并可以执行后在变成你想要的

excel 引用sheet

在上海悉息信息科技有限公司,我们深知Excel在数据处理中的重要作用。在Excel中引用不同工作表(sheet)的数据是常见的操作,这有助于整合和分析跨多个工作表的信息。通过在工作表名称前加上感叹号“!”,您可以轻松地引用其他工作表中的数据。例如,如果您想在Sheet1中引用Sheet2的A1单元格数据,您可以在Sheet1的公式栏中输入“=Sheet2!A1”。这种跨表引用的方式大大增强了Excel的数据处理能力和灵活性。仅需3步!不写公式自动完成Excel vlookup表格匹配!Excel在线免,vlookup工具,点击65步自动完成表格匹配,无需手写公式,免费使用!

php怎么读取excel 文件数据并输出

PHP读取示例代码 //获取上传的excel临时文件$path = $_FILES["file"]["tmp_name"];//将临时文件移动当前目录,可自定义存储位置 move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);//将获取在服务器中的Excel文件,此处为上传文件名$path = $_FILES["file"][...

基于php中使用excel的简单介绍

这样需要将这些数据从excel中取出来,然乎保存在excel的数组中,通过使用循环数组将相应的数据放入到数据库中。所以工作的第一步就是要将数据从excel中取出来。这里我使用到了一个开源php处理excel类:phpexcel. 该项目的详细信息http://phpexcel.codeplex.com/。我目前使用的是phpexcel1.7.3版本,解压缩...

php导出带图片的excel

官方网站:http://phpexcel.codeplex.com/ //设置PHPExcel类库的include path set_include_path('.'. PATH_SEPARATOR .'include path' . PATH_SEPARATOR .get_include_path());/ 如果使用 Excel5 ,输出的内容应该是GBK编码。/ require_once 'PHPExcel.php';// uncomment ///require_once 'PHPExce...

php读取excel,excel下多个个工作表,该怎么读取

1、利用PHPExcelReader来完成多个excel的读取。2、PHPExcel比较强大,能够将内存中的数据输出成Excel文件,同时还能够对Excel做各种操作,下面主要介绍下如何使用PHPExcel进行Excel 2007格式(.xlsx)文件的读取。3、下载PHPExcel后保存到自己的类文件目录中,然后使用以下代码可以打开Excel 2007(xlsx)格式的文件...

php怎么导出大量数据的Excel

php导出大量数据Excel的具体操作步骤如下:1、使用phpstudy搭建一个测试平台,直接访问数据库。2、下载的phpcms安装包拷贝到IIS目录,开通访问,即可搭建成功。3、登录网站后台,系统权限,文件目录以及数据库等功能,进行管理。4、在phpcms后台,扩展,数据库工具,数据库导出,程序池选择phpcmsv9,开始备份...

phpexcel 在windows下边导出中文,没有问题,但是在linux下就倒不出中...

没看明白。是Windows下面的 IE 浏览器访问网站获得 excel 文件正常。Linux 下面的浏览器访问网站不正常?

在Yii中怎样把excel表格上传到数据库中

1.网站中商品一多,肯定需要一键导入功能,有现在成的第三方插件类PHPExcel,可以直接百度搜索进行下载。2.里面所用到的文件夹主要是Classes这个文件夹。3.把Classes文件夹改名为PHPExcel,复制整个文件夹到yii项目中的protected/extensions。4.在定义的方法中需要用到PHPExcel的地方加上这两句代码 /*静用Yii...

PHPexcel 读取excel中的值是空的

你的代码: $strs[0] =$objWorksheet-&gt;getCellByColumnAndRow($col,$row)-&gt;getValue();数据需要强制类型转换,改成: $strs[0] =(string)$objWorksheet-&gt;getCellByColumnAndRow($col,$row)-&gt;getValue();

熟悉excel excel熟悉不显示 熟悉excel和word excel保存 excel保存不了 excel的条件格式怎么用 excel excel表格 excel条件
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为何冷冻室温度非得是零下18℃? 我打赌你不知道电冰箱应该怎样使用 细菌生长繁殖的条件的叙述,下列说法错误的是 ...晚会的作文,450字左右就行,写的好加分,我很急,过几天就要开学了_百... 折旧费用分配 1 2 3 4 5 6 7 8 9=100 (在数中间填上加号或减号)不能交换数的位置 allowance for depreciation的意思 1 2 3 4 5 6 7 8 9=100 (填上加号或减号) depreciation allowance的意思 我传奇特牛手游安卓游戏高速下载 我妈说我出生时凌晨三点伴着钟声落地,那我究竟属于三点还是不到三点? 坐时5点着地是什么意思 街舞中“三点撑”,女生怎样做,可以省力,而且能撑起来? 三点步行分为哪三种 谁知道起重机中所说的三条腿是什么意思? 为什么前三点起落架可以防止飞机“拿大顶” 马走路几蹄着地 配电房高压设备3点接地是什么? 破解中兴电信智能机顶盒, ufc三点着地是哪三点 “一年之守”是什么含义? 在京东买了件衣服付了款,然后取消订单没有拦截到,然后卖家发货了,是EMS,我想问下怎么拒收的??如... 京东购物,货物买错颜色,发货后取消订单也没给拦截,找客服客服说:本店不支持7天无理由退换货以及拒收 现在流行说一年之痒,七年之痒,问下这到底指的是什么 新注册的1天能加几个群不会被封号,退几个群不会被封号? 皓五行属什么 皓童名字的含义? 电脑什么样的屏幕护眼 请问这是什么直播平台,知道的麻烦说一下 乐皓的寓意 带三个点的成语 一重物有4个支撑点着地,但从任意三个支撑点都能称出这个重物的正确重量 相声候大明白的台词在哪有啊 街舞三点支撑 一个三角形一个自行车什么意思 缘怎么解释 缘的意思 街舞breaking 三角撑(三点撑)怎么转换 成头定(头顶) 缘故的缘是什么意思 三点水的写法是什么? 缘有几种意思 缘的意思是 “缘由”和“原由”意思和用法上有什么区别? 缘和原怎样区分? 无缘无故中的缘是什么意思 《登飞来峰》中的 缘是什么意思? “ 缘由”、与“原由”有什么区别,意思有什么变化? 请问大家《缘》字做何解释?《缘分》又做何解释? “无缘无故”的“缘”字是什么意思? MSI PM8M2-V (MS-7071)是什么牌子的主板?