php - 在MYSQL查询后使用phpexcel从excel中删除字段

标签 php mysql phpexcel

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

我有一个看起来像这样的数据库(当我使用 PHPExcel 生成它时,这也是我的 excel 文件当前的样子):

======================================================
|           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 文件看起来像这样:

======================================================
|           Question                  |   Answer     |
=========+===========+===============================|
| Do you listen to music?             |    YES       |            
|----------------------------------------------------|
| Who is your favorite music artists? | Justin Beiber| 
|----------------------------------------------------|
|Are you a Male or female             |      M       | 
|----------------------------------------------------|

我正在使用这段代码:

$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++;
}

最佳答案

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

或者如果列 Anwser值为 null""什么时候Question值为 <p> Select an Answer<p> ,那么你也可以说:

if($value !== null)
{
  // Output...
} 

例如:

$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> 的行除非你需要它们。

关于php - 在MYSQL查询后使用phpexcel从excel中删除字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13243332/

相关文章:

php - PDOStatement::fetchObject 如何在构造类之前设置属性?

PHP artisan 数据库:seed using laravel error when creating Faker for table that have foreign keys

php - phpExcel 第 34 行 Autoloader.php 中的 fatal error

php - 如何使用 PHPExcel 选择保存文件 excel 的位置

PHPExcel 如何在 MySQL 表中上传 excel 文件

php - 如何在 Mac 中同时执行 PHP CLI 脚本

php - 作为对象返回使用 PDO 删除的行

PHP MVC 不同的样式表,每个页面上的 javascript 文件

具有多个连接的 MySQL 查询执行时间太长

MySQL 查询 Hibernate 或 native 查询生日通知