2012-10-22 29 views
0

我想使用php生成excelsheet,那么哪种方法或代码更适合用于生成动态excelsheet?请查看屏幕截图,以了解我面临的问题。 screenshot of required excel sheet format 请问,任何人都可以帮我解决这些问题?提前致谢。使用php生成excel表单使用很少的非可编辑单元格

我正在使用下面的代码示例。

$result = mysql_query("SELECT * FROM ".$pre."customers"); 
    if (!$result) die('Couldn\'t fetch records'); 
    $num_fields = mysql_num_fields($result); 
    $headers = array(); 

    for ($i = 0; $i < $num_fields; $i++) 
    { 
     $headers[] = mysql_field_name($result , $i); 
     mysql_field_name($result , $i); 
    } 

    $fp = fopen('php://output', 'w'); 
    if ($fp && $result) 
    { 
      header('Content-Type: text/csv'); 
      header('Content-Disposition: attachment; filename="export1.csv"'); 
      header('Pragma: no-cache'); 
      header('Expires: 0'); 
      fputcsv($fp, $headers); 

      while ($row = mysql_fetch_row($result)) 
      { 
       fputcsv($fp, array_values($row)); 
      } 

      die; 
    } 

但我不认为我可以将任何单元格锁定到此Excel表单中。那么哪个php方法或类适合用来生成excelsheet以供我使用?

+0

Stackoverflow建议具体问题。放置一些代码,并解释什么是意想不到的,然后有人可能会尝试提供帮助。 – mrd

+0

可以通过以上描述足以由某人回答吗? –

+0

这更好。还要考虑添加标签,如JQuery和PHP。这样可以帮助你的问题得到更多关注。 – mrd

回答

0
public function get_excel($err = array()) 
{ 

    // Clear any previous output 
ob_end_clean(); 
// I assume you already have your $result 
$search = ($this->uri->segment(2))?$this->uri->segment(2):'key'; 
$result=mysql_query("select * from job"); 
$num_fields = mysql_num_fields($result); 


// Fetch MySQL result headers 
$headers = array(); 
//$headers[] = "serial no"; 
for ($i = 0; $i < $num_fields; $i++) { 


    $headers[] = strtoupper(mysql_field_name($result , $i)); 
} 


// Filename with current date 
$current_date = date("y/m/d"); 
$filename = "MyFileName" . $current_date . ".csv"; 

// Open php output stream and write headers 
$fp = fopen('php://output', 'w'); 
if ($fp && $result) { 
    header('Content-Type: text/csv'); 
    header('Content-Disposition: attachment; filename='.$filename); 
    header('Pragma: no-cache'); 
    header('Expires: 0'); 

    // Write mysql headers to csv 
    fputcsv($fp, $headers); 
    //$row_tally = 0; 
    // Write mysql rows to csv 
    while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
    // $row_tally = $row_tally + 1; 
    //echo $row_tally.","; 
     fputcsv($fp, array_values($row)); 
    } 
    die; 
} 

} 
0

看起来好像你想要更多的CSV超出可能。你知道excel中的导入函数吗?你可以很容易地设置文件,只接收来自你自己的PHP服务等CSV(下半部分)的动态内容...

我的Excel版本是丹麦语,但它的det数据选项卡和类似“从互联网“:)

+0

感谢您的回复。让我试试这个问题的另一个解决方案。因为我无法准确解释我需要什么。再次感谢。 –

相关问题