使用php生成excel工作表,其中包含少量不可编辑的单元格
我想使用php生成excelsheet,那么哪种方法或代码更适合用于生成动态excelsheet?请查看屏幕截图,了解我面临的问题。! 请问,有人能帮我解决这些问题吗?提前谢谢 我使用下面的代码示例使用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
$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;
}
}