PHPEXCEL是一个优秀的PHP读写Excel文件的类库,它提供了非常充分的API,能够让我们使用PHP来读写Excel文件。而有些时候,我们需要将Excel文件转换成CSV文件,在一些场合下使用。
本文主要讲述如何使用PHPEXCEL类库将Excel文件转换成CSV文件,并进行打开。
一、转换Excel文件为CSV格式
步骤1:安装PHPEXCEL类库
首先,我们需要使用Composer来安装PHPEXCEL类库,可以使用以下命令:
composer require phpoffice/phpexcel
登录后复制
步骤2:读取Excel文件
使用PHPEXCEL读取Excel文件并转换为CSV文件,我们需要用到以下代码
// 加载类库 require_once 'vendor/autoload.php'; // 读取Excel文件 $inputExcel = './data/test.xlsx'; $phpExcel = PHPExcel_IOFactory::load($inputExcel); // 获取工作表 $sheet = $phpExcel->getActiveSheet(); // 循环遍历工作表 foreach ($sheet->getRowIterator() as $row) { $csv = []; $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(false); foreach ($cellIterator as $cell) { $csv[] = $cell->getValue(); } echo implode(',', $csv), PHP_EOL; }
登录后复制
步骤3:将Excel文件转换为CSV文件
我们可以将上述代码中的echo
换成将数据写入CSV文件中,完整代码如下
// 加载类库 require_once 'vendor/autoload.php'; // 读取Excel文件 $inputExcel = './data/test.xlsx'; $phpExcel = PHPExcel_IOFactory::load($inputExcel); // 定义CSV文件名和路径 $outputCSV = './data/test.csv'; // 打开CSV文件并追加数据 $file = fopen($outputCSV, 'a+'); // 获取工作表 $sheet = $phpExcel->getActiveSheet(); // 循环遍历工作表 foreach ($sheet->getRowIterator() as $row) { $csv = []; $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(false); foreach ($cellIterator as $cell) { $csv[] = $cell->getValue(); } // 将数据写入CSV文件中 fwrite($file, implode(',', $csv) . PHP_EOL); } // 关闭CSV文件 fclose($file);
登录后复制
在上述代码中,我们首先定义要写入CSV文件的文件名和路径,然后使用fopen
函数打开CSV文件,并且设置打开方式为追加数据。接着,我们循环遍历Excel文件的每一行,并使用foreach
循环遍历每一行中的单元格,并将单元格的值存储到一个数组中。最后,我们使用fwrite
函数将每一行数据写入CSV文件中。最后,我们使用fclose
函数关闭CSV文件。
二、打开CSV格式文件
完成Excel文件转换为CSV文件后,我们需要打开CSV文件,并且使用Excel或文本编辑器查看其内容。
如果需要在Excel中查看CSV文件,可以使用以下步骤来打开:
- 启动Excel应用程序。
- 点击“文件”->“打开”。
- 导航到CSV文件的位置,并选择该文件。
- 选择“文件类型”下拉菜单中的“文本文件”。
- 点击“打开”。
- 在“文本导入向导”窗口中,确保“分隔符”选项卡被选中。下面的“分隔符类型”选项卡应选择“逗号”。
- 点击“下一步”。
- 在“分隔符”选项卡上选择用于分隔数据的分隔符(例如逗号)。
- 点击“下一步”。
- 如果数据列的格式没有问题,不需要做任何更改,直接点击“下一步”。
- 在“目标”步骤中,选择Excel文件的工作表。
- 点击“完成”。
如果需要使用文本编辑器打开CSV文件,可以直接用文本编辑器打开即可,文件的数据内容将会以纯文本的形式显示。
结论
在本文中,我们介绍了如何使用PHPEXCEL类库将Excel文件转换为CSV格式,并对其进行了打开。希望能够帮助读者更好地利用PHPEXCEL类库。