【问题标题】:Getting database data into existing Excel document tab将数据库数据导入现有 Excel 文档选项卡
【发布时间】:2011-11-29 21:24:35
【问题描述】:

我有一个脚本,它从 MySQL 数据库表中获取数据并创建一个新的 .csv excel 文档并将所有数据插入其中。现在请注意,此脚本会创建一个新的 csv 文件。

部分脚本:

$result = mysql_query("SHOW COLUMNS FROM ".$table."");
$i = 0;
if (mysql_num_rows($result) > 0) {
    while ($row = mysql_fetch_assoc($result)) {
        if($row['Field'] != 'id'){
            $csv_output .= $row['Field']."; ";
            $i++;
        }
    }
}
$csv_output .= "\n";

$values = mysql_query("SELECT title, firstname, initials, lastname, address, address_nr, emailaddress, zipcode, city, phone, mobile, website FROM ".$table." WHERE addressbook = '$addressbook_id'");
while ($rowr = mysql_fetch_row($values)) {
    for ($j=0;$j<$i;$j++) {
        $csv_output .= $rowr[$j]."; ";
    }
    $csv_output .= "\n";
}

$filename = $file."_".date("Y-m-d_H-i",time());
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header("Content-disposition: filename=".$filename.".csv");
print $csv_output;
exit;

现在问题来了。一家需要这些数据的公司已经制作了一个 .xlsx Excel 文件,其中包含他们需要的不可见列,而且这些列已经有不同的名称,并且该文件有两个不同的选项卡。一个是文本,一个是数据应该进入的地方。

问题 1:如果我将此文件上传到我的网络服务器,如何让脚本使用此文件而不是创建一个新文件?

问题 2:如何将其保存为 .xlsx 文件而不是 .csv?

问题 3:工作表中有 2 个选项卡。如何将数据插入到名为“2.data”的第二个选项卡中?

有什么想法吗?

【问题讨论】:

    标签: php mysql excel csv


    【解决方案1】:

    请看这篇帖子:How to modify existing excel file using PHP?

    我希望通过那里的信息可以解决您的问题。

    您将需要一些 Pear 数据包到 PHP。

    【讨论】:

    • 谢谢,我以前看过那个帖子。问题是我的虚拟主机没有安装这些数据包,而且他们拒绝这样做。
    • 安装 Pear 并不是一个真正具有挑战性的任务,所以我建议您坚持使用您的托管服务(几乎都安装了 pear),或者您也可以为此任务安装本地服务器。或者在最坏的情况下查看这些包的代码并创建自己的脚本。请记住,Pear 是针对常见问题的“良好”脚本的集合。
    • 此链接可以帮助您进行设置:geeksengine.com/article/install-pear-on-shared-web-host.html
    • 谢谢。我已经调查过了,我的虚拟主机允许我安装 PEAR,这样就解决了。我将在半小时后打电话给公司,看看是否有替代解决方案,因为我是修改 Excel 文档的新手,这也是我的 PHP 知识结束的地方。
    • 我很高兴这些信息对您有所帮助。使用这些 PEAR 包不是很困难,但需要一些时间阅读手册并进行实施:pear.php.net/manual/en/…Best wish.
    猜你喜欢
    • 2014-01-31
    • 2018-09-16
    • 1970-01-01
    • 2011-06-24
    • 2016-02-09
    • 2020-02-27
    • 2013-05-02
    • 1970-01-01
    • 2012-07-07
    相关资源
    最近更新 更多