【发布时间】:2018-06-30 14:22:16
【问题描述】:
我有一个 MS-excel 文件,其中有一列:地址
还有一个 MySQL 数据库表,其中包含以下列:Add1、Add2、Add3
是否可以将Excel文件的地址列中的数据分解为Add1,Add2,Add3(每列限制为40个字符)通过PHP上传MSExcel文件后!
我在 PHP 中上传文件的代码:
if(isset($_POST['submit'])) {
if(isset($_FILES['uploadFile']['name']) && $_FILES['uploadFile']['name'] != "") {
$allowedExtensions = array("xls","xlsx","csv");
$ext = pathinfo($_FILES['uploadFile']['name'], PATHINFO_EXTENSION);
if(in_array($ext, $allowedExtensions)) {
$file_size = $_FILES['uploadFile']['size'] / 1024;
if($file_size < 50) {
$file = "../excelfile/".$_FILES['uploadFile']['name'];
$isUploaded = copy($_FILES['uploadFile']['tmp_name'], $file);
if($isUploaded) {
include("../Classes/PHPExcel/IOFactory.php");
try {
//Load the excel(.xls/.xlsx/.csv) file
$objPHPExcel = PHPExcel_IOFactory::load($file);
} catch (Exception $e) {
die('Error loading file "' . pathinfo($file, PATHINFO_BASENAME). '": ' . $e->getMessage());
}
//An excel file may contains many sheets, so you have to specify which one you need to read or work with.
$sheet = $objPHPExcel->getSheet(0);
//It returns the highest number of rows
$total_rows = $sheet->getHighestRow();
//It returns the highest number of columns
$total_columns = $sheet->getHighestColumn();
$sheet_data = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
而将地址插入表中的查询是:
$query = "insert into address_table (Add1, Add2, Add3)
values(
'".$_POST['address1']."',
'".$_POST['address2']."',
'".$_POST['address3']."')
【问题讨论】:
-
去掉最后一个逗号。
-
好的,现在怎么办?
-
现在可以用了吗?
-
我认为不止于此,我明确指出,在切换到下一列之前,我需要检查每个列是否有 40 个字符。我需要帮助为此编写一个单独的 php 脚本!