将excel数据插入codeigniter中的数据库

时间:2013-08-19 09:52:04

标签: php codeigniter

我需要使用codeigniter将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 

1 个答案:

答案 0 :(得分: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);
}