使用PHPExcel将Excel导出到MySql

时间:2016-10-03 19:51:14

标签: php mysql excel import phpexcel

我找到了有关如何将数据从MySQL导出到Excel的信息,但不是从Excel导出到MySQL。

此外,我要求使用PHPExcel,因为朋友建议使用它,但如果有一种最简单的方法,那就欢迎。

我知道我可以使用以下语法从excel导出到MySql(使用静态字段):

LOAD DATA LOCAL INFILE '\\path' INTO TABLE test FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n'

但并非所有Excel字段都会导入MySQL或以相同的顺序。

这是我的表结构:

CREATE TABLE cliente (
  clienteId int(11) NOT NULL AUTO_INCREMENT,
  clienteIdentidadTipo varchar(45) DEFAULT NULL,
  clienteIdEntidadNumero varchar(45) DEFAULT NULL,
  clienteNombres varchar(100) DEFAULT NULL,
  clienteApellidosPrimero varchar(45) DEFAULT NULL,
  clienteApellidosSegundo varchar(45) DEFAULT NULL,
  clienteDireccion varchar(45) DEFAULT NULL,
  clienteCelular varchar(45) DEFAULT NULL,
  clienteTelefono varchar(45) DEFAULT NULL,
  clienteGenero varchar(45) DEFAULT NULL,
  clienteFechaNacimiento date DEFAULT NULL,
  clienteEstadoCivil varchar(45) DEFAULT NULL,
  clienteCargo varchar(45) DEFAULT NULL,
  clienteOcupacion varchar(45) DEFAULT NULL,
  clienteRecibeMensajesEmail tinyint(1) DEFAULT NULL,
  clienteEmail varchar(45) DEFAULT NULL,
  clienteClave varchar(100) DEFAULT NULL,
  clienteRecibeMensajesSms tinyint(1) DEFAULT NULL,
  clienteObjetivoVermeMejor tinyint(1) DEFAULT NULL,
  clienteObjetivoSalud tinyint(1) DEFAULT NULL,
  clienteObjetivoDesempeno tinyint(1) DEFAULT NULL,
  clientePracticaDeporte tinyint(1) DEFAULT NULL,
  clienteServicioCardio tinyint(1) DEFAULT NULL,
  clienteServicioPersonalizado tinyint(1) DEFAULT NULL,
  clienteServicioGrupales tinyint(1) DEFAULT NULL,
  clienteServicioPesas tinyint(1) DEFAULT NULL,
  clienteServicioFisioterapia tinyint(1) DEFAULT NULL,
  clienteServicioFuncional tinyint(1) DEFAULT NULL,
  clienteServicioOtro varchar(45) DEFAULT NULL,
  clienteMedioConocioGym varchar(45) DEFAULT NULL,
  clienteEmergenciaNombre varchar(45) DEFAULT NULL,
  clienteEmergenciaTelefono varchar(45) DEFAULT NULL,
  clienteEps varchar(45) DEFAULT NULL,
  clienteIps varchar(45) DEFAULT NULL,
  clienteCiudadId int(11) NOT NULL,
  clienteEmpresaId int(11) NOT NULL,
  clienteGrupoId int(11) NOT NULL,
  clienteCertificaConcentimientoInformado tinyint(1) DEFAULT NULL,
  clienteCertificaCuestionamientoAntecedente tinyint(1) DEFAULT NULL,
  clienteCongelacion int(11) DEFAULT NULL,
  clienteDiasTolerancia int(11) DEFAULT NULL,
  clienteFechaPago int(11) DEFAULT NULL,
  clienteTiquetera tinyint(1) DEFAULT NULL,
  clienteUsuario varchar(45) DEFAULT NULL,
  historiaClinicaId int(11) NOT NULL,
  planId int(11) NOT NULL,
  clientePracticaDeporteCual varchar(45) DEFAULT NULL,
  clienteCupoCredito int(7) NOT NULL,
  clienteImagen varchar(500) NOT NULL,
  clienteValidacion int(11) NOT NULL,
  clienteRh varchar(45) DEFAULT NULL,
  PRIMARY KEY (clienteId,clienteCiudadId,clienteEmpresaId,clienteGrupoId,historiaClinicaId,planId),
  UNIQUE KEY clienteId_UNIQUE (clienteId),
  KEY fk_cliente_ciudad_idx (clienteCiudadId),
  KEY fk_cliente_empresa1_idx (clienteEmpresaId),
  KEY fk_cliente_grupo1_idx (clienteGrupoId),
  KEY fk_cliente_historiaClinica1_idx (historiaClinicaId),
  KEY fk_cliente_plan1_idx (planId),
  CONSTRAINT fk_cliente_ciudad FOREIGN KEY (clienteCiudadId) REFERENCES ciudad (ciudadId) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT fk_cliente_empresa1 FOREIGN KEY (clienteEmpresaId) REFERENCES empresa (empresaId) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT fk_cliente_grupo1 FOREIGN KEY (clienteGrupoId) REFERENCES grupo (grupoId) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT fk_cliente_historiaClinica1 FOREIGN KEY (historiaClinicaId) REFERENCES historiaclinica (historiaClinicaId) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT fk_cliente_plan1 FOREIGN KEY (planId) REFERENCES plan (planId) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

这是我要导入数据库的Excel文件: Screenshot

1 个答案:

答案 0 :(得分:-1)

这可能会有所帮助: Import an excel file into a MySQL table with PHPExcel

此外,将来,您对编程的大部分问题都已得到解答。因此,您通常可以在1-2次Google搜索中找到答案。