2013-08-19 158 views
0

我需要在Excel工作表數據插入到我的數據庫使用codeigniter.For這個我已經試過插入Excel數據到數據庫笨

<?php 
include 'reader.php'; 
$excel = new Spreadsheet_Excel_Reader(); 
?> 
<table> 
<?php 
$excel->read('first_data.xls');  
$x=1; 
while($x<=$excel->sheets[0]['numRows']) { 
    echo "\t<tr>\n"; 
    $y=1; 
    while($y<=$excel->sheets[0]['numCols']) { 
    $cell = isset($excel->sheets[0]['cells'][$x][$y]) ? $excel->sheets[0]['cells'][$x][$y] : ''; 
    echo "\t\t<td>$cell</td>\n"; 
    $y++; 
    } 
    echo "\t</tr>\n"; 
    $x++; 

} 

?>  
</table><br/> 

通過這個我可以檢索Excel數據並打印。 如何在數據庫中逐一存儲數據。

State 1972-1973 1973-1974 1974-1975 1975-1976 1976-1977 1977-1978 1978-1979 1979-1980 1980-1981 1981-1982 
Alabama $733,750 $1,066,300 $1,136,244 $1,343,670 $1,476,307 $1,642,927 $1,507,315 $1,849,825 $2,402,873 $2,079,000 
Alaska $1,019,000 $1,100,000 $1,180,500 $1,172,300 $1,415,300 $1,411,700 $1,666,500 $2,026,400 $3,409,800 $7,200,000 
Arizona $225,117 $226,000 $242,000 $212,200 $553,600 $905,200 $1,100,300 $1,232,600 $1,409,600 $1,557,000 
Arkansas $890,496 $1,173,304 $1,193,362 $1,735,266 $1,824,536 $1,929,071 $2,090,590 $2,173,595 $2,042,632 $2,203,864 
+0

你可以粘貼'var_dump()'一塊結果數組嗎? – Bora

+0

狀態,並且年將b作爲字段名稱 – sangee

+0

這不是明確的,請'var_dump($ excel);''''var_dump($ excel-> sheets);' – Bora

回答

0

這個建議可能有點問題的範圍,但你可以考慮導出excel文件爲.csv,然後使用mysql導入文件導入?

希望這段代碼可以幫助你。

if (file_exists($file)) 
{ 
    $fields = $this->db->list_fields($table_name); 
    $field_list = implode('`,`',$fields); 
    $sql = "LOAD DATA LOCAL INFILE '". $file."' 
     REPLACE 
     INTO TABLE `$table_name` 
     FIELDS terminated BY ',' 
     OPTIONALLY ENCLOSED BY '\"' 
     LINES terminated BY '\\n' IGNORE 1 LINES 
     (`${field_list}`); "; 
    $this->db->query($sql); 
}