首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MYSQL查询后使用phpexcel从excel中删除字段

问在MYSQL查询后使用phpexcel从excel中删除字段
EN

Stack Overflow用户
提问于 2012-11-06 02:01:02
回答 1查看 364关注 0票数 2

我使用PHPExcel从MYSQL数据库导出数据,并将其导入excel文件。

我有一个像这样的数据库(这也是我使用PHPExcel生成excel文件时的样子):

代码语言:javascript
复制
======================================================
|           Question                  |   Answer     |
=========+===========+===============================|
| Do you listen to music?             |    YES       |            
|----------------------------------------------------|
| Who is your favorite music artists? | Justin Beiber| 
|----------------------------------------------------|
| <p> Select an Answer<p>             |              | 
|----------------------------------------------------|
|Are you a Male or female             |      M       | 
|----------------------------------------------------|

我希望我的excel文件看起来像这样:

代码语言:javascript
复制
======================================================
|           Question                  |   Answer     |
=========+===========+===============================|
| Do you listen to music?             |    YES       |            
|----------------------------------------------------|
| Who is your favorite music artists? | Justin Beiber| 
|----------------------------------------------------|
|Are you a Male or female             |      M       | 
|----------------------------------------------------|

我正在使用以下代码:

代码语言:javascript
复制
$objPHPExcel = new PHPExcel();

$col = 1; 
while($row_data = mysql_fetch_assoc($result)) {
    $row = 1;
    if ($col == 1) {
        $row_headings = array_keys($row_data);
        foreach($row_headings as $value) {
            $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $value);
            $row++;
        }
        $row = 1;
        $col++;
    }
    foreach($row_data as $value) {
      if (!strstr('<p>', $value)){
        $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $value);

    $row++;
         }
    }
    $col++;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-06 02:09:57

一种选择是在执行SQL查询时排除<p> Select an Answer<p>,您将选择列和行,然后从您的选择中选择DELETE WHERE question = "<p> Select an Answer<p> "。

如果列Anwser值为null或"",而Question值为<p> Select an Answer<p>,则也可以这样说:

代码语言:javascript
复制
if($value !== null)
{
  // Output...
} 

例如:

代码语言:javascript
复制
$objPHPExcel = new PHPExcel();

$col = 1; 
while($row_data = mysql_fetch_assoc($result)) {
    $row = 1;
    if ($col == 1) {
        $row_headings = array_keys($row_data);
        foreach($row_headings as $value) {
            $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $value);
            $row++;
        }
        $row = 1;
        $col++;
    }
    foreach($row_data as $value) {
        if($value !== null || $value !== '')
        {
         $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $value);
         $row++;
        }
    }
    $col++;
}

或者,您只需删除包含<p> Select an Answer<p>的行,除非需要它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13243332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档