使用php生成excel工作表,其中包含少量不可编辑的单元格

使用php生成excel工作表,其中包含少量不可编辑的单元格,php,excel,Php,Excel,我想使用php生成excelsheet,那么哪种方法或代码更适合用于生成动态excelsheet?请查看屏幕截图,了解我面临的问题。! 请问,有人能帮我解决这些问题吗?提前谢谢 我使用下面的代码示例 $result = mysql_query("SELECT * FROM ".$pre."customers"); if (!$result) die('Couldn\'t fetch records'); $num_fields = mysql_num_fields($result

我想使用php生成excelsheet,那么哪种方法或代码更适合用于生成动态excelsheet?请查看屏幕截图,了解我面临的问题。! 请问,有人能帮我解决这些问题吗?提前谢谢

我使用下面的代码示例

$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;
     }
$result=mysql\u查询(“从“$pre.”客户中选择*);
如果(!$result)死亡('无法获取记录');
$num\u fields=mysql\u num\u fields($result);
$headers=array();
对于($i=0;$i<$num_字段;$i++)
{
$headers[]=mysql\u field\u name($result,$i);
mysql\字段\名称($result$i);
}
$fp=fopen('php://output","w",;
如果($fp&&$result)
{
标题(“内容类型:文本/csv”);
标题('Content-Disposition:attachment;filename=“export1.csv”');
标题('Pragma:no cache');
标题('Expires:0');
fputcsv($fp,$headers);
while($row=mysql\u fetch\u row($result))
{
fputcsv($fp,数组_值($row));
}
死亡
}

但我不知道我可以把任何单元格锁定到这个excel表格中。那么,哪种php方法或类适合生成excelsheet以供我使用呢?

您似乎希望从CSV中获得更多信息。您知道excel中的导入功能吗?您可以很容易地设置文档,以便从您自己的php服务等仅接收动态内容作为CSV(下半部分)

我的Excel版本是丹麦语,但它位于det data选项卡下,类似于“从internet”:)

公共函数get\u Excel($err=array())
{
//清除任何以前的输出
ob_end_clean();
//我想你已经有你的$result了
$search=($this->uri->segment(2))?$this->uri->segment(2):'key';
$result=mysql_查询(“从作业中选择*);
$num\u fields=mysql\u num\u fields($result);
//获取MySQL结果头
$headers=array();
//$headers[]=“序列号”;
对于($i=0;$i<$num_字段;$i++){
$headers[]=strtoupper(mysql_字段_名称($result,$i));
}
//带有当前日期的文件名
$current_date=日期(“y/m/d”);
$filename=“MyFileName”。$current\u date..csv”;
//打开php输出流并写入标题
$fp=fopen('php://output","w",;
如果($fp&&$result){
标题(“内容类型:文本/csv”);
标题('Content-Disposition:attachment;filename='。$filename);
标题('Pragma:no cache');
标题('Expires:0');
//将mysql头写入csv
fputcsv($fp,$headers);
//$row_tally=0;
//将mysql行写入csv
而($row=mysql\u fetch\u数组($result,mysql\u NUM)){
//$row\U tally=$row\U tally+1;
//echo$row_tally.“,”;
fputcsv($fp,数组_值($row));
}
死亡
}
}

Stackoverflow建议具体问题。放置一些代码并解释你得到的意外情况,然后有人可能会试图帮助你。上面的描述是否足以让人回答?这样更好。还考虑添加标签,如jQuery和PHP。这样可以帮助您的问题得到更多的关注。谢谢您的回复。让我试试这个问题的另一个解决方案。因为我无法准确地解释我需要什么。再次感谢。
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;
}

 }