我正在尝试使用 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 https://github.com/PHPOffice/PhpSpreadsheet这是的后继者Github:PHPOffice/PHPExcel https://github.com/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");
input file test.xls
output file text.csv
您还可以参考如何使用 PHP 将 Excel XLS 转换为 CSV https://stackoverflow.com/q/7766317/6521116
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)