php - 如何使用 PHP 下载 2 个表格到 Excel 工作表

标签 php mysql

我有一个 PHP 代码,用于将一个 mysql 表下载到 Excel 工作表。我想做的是将 2 个表下载到同一个 Excel 工作表中。这些表应该位于不同的 Excel 工作表中。请帮助我。

这段代码工作正常。它下载一张表。

<?php

ob_start();
session_start();
include('dbconnection.php');
$usr = $_SESSION['fname'];

header('Content-Type: text/csv');
header('Content-Disposition: attachment;filename=exported-data.csv');

$select_table = mysql_query("select * from regfarmer WHERE ffname='$usr'");

$rows = mysql_fetch_assoc($select_table);

if ($rows) {
    getcsv(array_keys($rows));
}
while ($rows) {
    getcsv($rows);
    $rows = mysql_fetch_assoc($select_table);
}

function getcsv($no_of_field_names) {
    $separate = '';

    foreach ($no_of_field_names as $field_name) {
        if (preg_match('/\\r|\\n|,|"/', $field_name)) {
            $field_name = '' . str_replace('', $field_name) . '';
        }
        echo $separate . $field_name;

        $separate = ',';
    }

    echo "\r\n";
}
?>

最佳答案

我找到了一个用于拆分到 Excel 工作表的代码。现在我如何为此代码集成 mysql 表选择?

<?php
require_once 'PHPExcel.php';
require_once 'PHPExcel/IOFactory.php';

// Create new PHPExcel object
$objPHPExcel = new PHPExcel();

// Create a first sheet, representing sales data
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Something');

// Rename sheet
$objPHPExcel->getActiveSheet()->setTitle('Name of Sheet 1');

// Create a new worksheet, after the default sheet
$objPHPExcel->createSheet();

// Add some data to the second sheet, resembling some different data types
$objPHPExcel->setActiveSheetIndex(1);
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'More data');

// Rename 2nd sheet
$objPHPExcel->getActiveSheet()->setTitle('Second sheet');

// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="name_of_file.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
?>

关于php - 如何使用 PHP 下载 2 个表格到 Excel 工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25301448/

相关文章:

javascript - 在php函数中插入javascript对象

php - 用户提交的无效数据的适当 HTTP 响应是什么?

php - 当邮箱为空时 imap_check 抛出通知

mysql - 'and' 和 'or' 在 SQL 中是如何工作的

php - 有没有更快/更好的方法来代替在下面的代码中使用 preg_match?

php - 如何从 WordPress 中的插件 php 编辑 mySQL wp_posts 表?

mysql - 从 MySQL 执行 shell 命令

java - 我应该将数据库的凭据保存在哪里?

mysql - Eloquent - 如果外键有行,则防止删除数据 - Laravel

mysql - 如果选择查询返回空结果,在 mysql 中运行另一个选择查询