我正在尝试使用 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 文件将被上传。
最佳答案
您可以使用 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");
关于php - 使用php将上传的excel文件转换为csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57521118/