2016-10-03 69 views
-1

我發現了有關如何將數據從MySQL導出到Excel但不顛倒的信息,從Excel到MySQL。使用PHPExcel將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

你對csv文件有什麼看法。 – khalid

+0

load data infile命令不能將excel文件導入到mysql中。期。它可以導入文本文件。如果加載數據infile一般適用於你,只是字段的順序是一個問題,那麼請閱讀加載數據infile上的mysql手冊。 – Shadow

回答