我正在尝试使用 php 创建一个网页,该网页使用浏览按钮在页面上上传 excel 文件并将其导入 mysql 数据库。我可以上传 csv 文件并将其导入数据库//html代码<form action="import.php" enctype="multipart/form-data" method="post"role="form"><input type="file" name="file" id="file" accept=".xls"><br><br><input type="submit" name="submit" value="submit">//php代码 if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo nl2br("Connected to Database successfully \n"); mysqli_query($conn,'Truncate table sheet'); $file = $_FILES['file']['tmp_name']; file_put_contents($file,str_replace("'","\'",file_get_contents($file))); $handle = fopen($file,"r");// 另一部分代码 if($sql) { $ffilename=basename($_FILES['file']['name']); $filename=preg_replace('/\\.csv/',' ',$ffilename); echo "File ".$filename." imported in database"; } 我想上传 excel 文件并将其转换为 csv 而不按任何额外的按钮,并使用与我一直在使用的 csv 文件相同的代码,即 csv 文件虽然将被导入但 excel 文件将被上传。
2 回答
动漫人物
TA贡献1815条经验 获得超10个赞
你可以使用Github:PHPOffice/PhpSpreadsheet,它是Github的继任者:PHPOffice/PHPExcel
安装它 composer require phpoffice/phpspreadsheet
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$reader = new Xls();
$spreadsheet = $reader->load("test.xls");
$writer = new Csv($spreadsheet);
$writer->save("test.csv");
输入文件 test.xls
输出文件 text.csv
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
您也可以尝试使用https://developers.convertio.co/ru/api/docs/来节省一些时间处理 .xlsx 文件混乱,只需使用辅助项目 API。
我试图只在 PHP 上做这样的事情,但最终在文档方面和不推荐使用的库上花费了几个小时后使用了 Convertio。
*不是由 Convertio 支付
- 2 回答
- 0 关注
- 247 浏览
添加回答
举报
0/150
提交
取消