使用php将上传的excel文件转换为csv

我正在尝试使用 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 文件将被上传。


有只小跳蛙
浏览 248回答 2
2回答

动漫人物

你可以使用Github:PHPOffice/PhpSpreadsheet,它是Github的继任者:PHPOffice/PHPExcel安装它 composer require phpoffice/phpspreadsheetrequire '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输出文件&nbsp;text.csv

摇曳的蔷薇

您也可以尝试使用https://developers.convertio.co/ru/api/docs/来节省一些时间处理 .xlsx 文件混乱,只需使用辅助项目 API。我试图只在 PHP 上做这样的事情,但最终在文档方面和不推荐使用的库上花费了几个小时后使用了 Convertio。*不是由 Convertio 支付
打开App,查看更多内容
随时随地看视频慕课网APP