导出/下载表 HTML-PHP 到 Excel 文件

2024-07-04

我有一个 HTML/PHP 表格,可以从 mySQL 中提取数据。请看这里link https://anakpanti.com/ab-cargo/controllers_searchshipment/。例如,请搜索此发货代码以获取表格内的结果:42-7278954.

之后,我想将结果导出到 Excel(您也可以看到那里的按钮)。

下面是我的视图中的表代码(我删除了一些列以缩短代码):

$body = "";

$display =  "<table class='table_searchshipment' id='table_searchshipment' cellpadding='0' cellspacing='0' border='0'>";

            echo $display;
            $body .= $display;

            $display  = "<thead>
                        <tr>
                          <th>CN No.</th>
                          <th>Doc No.</th>
                        </tr>
                      </thead>";
            echo $display;
            $body .= $display;  

            while($row = mysqli_fetch_array($result)) {
                $CN_no= $row['CN_no'];
                $doc_no= $row['doc_no'];

                $display  = "<tr>
                        <td>".$CN_no."</td>
                        <td>".$doc_no."</td>
                      </tr>";
               echo $display;
               $body .= $display;
            }

            $display  = "</table>";
            echo $display;
            $body .= $display;
            $body = htmlspecialchars($body);

            echo '<form action = "setheader" method = "post">
                    <input type = "hidden" name = "body" value = "<?php echo $body ; ?>">
                <input type = "submit" name = "submit" Value = "Export to excel">
            </form>'; 

            if(isset($_POST['submit'])){ 
                    $body = $_POST['body'];
                    setHeader("export.xls");

                    echo $body;
                }

在控制器中,我创建了函数 setheader:

public function setheader($excel_file_name)//this function used to set the header variable
{   
    header("Content-type: application/octet-stream");//A MIME attachment with the content type "application/octet-stream" is a binary file.
    //Typically, it will be an application or a document that must be opened in an application, such as a spreadsheet or word processor. 
    header("Content-Disposition: attachment; filename=$excel_file_name");//with this extension of file name you tell what kind of file it is.
    header("Pragma: no-cache");//Prevent Caching
    header("Expires: 0");//Expires and 0 mean that the browser will not cache the page on your hard drive
   }

出现下载弹出窗口,但它只下载包含错误通知的“setheader”文件。请看一下here https://anakpanti.com/setheader.


Firstly,

该行需要更改为:

echo '<form action = "setheader" method = "post">
        <input type = "hidden" name = "body" value = "<?php echo $body ; ?>">
    <input type = "submit" name = "submit" Value = "Export to excel">
</form>';

to:

echo '<form action = "setheader" method = "post">
        <input type = "hidden" name = "body" value = "'.$body.'">
    <input type = "submit" name = "submit" Value = "Export to excel">
</form>';

第二,$body = htmlspecialchars($body);最有可能返回一个空字符串。

来自PHP Docs http://php.net/manual/en/function.htmlspecialchars.php

如果输入字符串包含无效的代码单元序列 给定编码将返回空字符串,除非 设置了 ENT_IGNORE 或 ENT_SUBSTITUTE 标志。

如果不知道数据库来自哪些数据,就很难进一步测试。

但你可以尝试:

$body = htmlspecialchars($body, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');看看它是否解决了这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

导出/下载表 HTML-PHP 到 Excel 文件 的相关文章

  • 通过 AJAX 调用的 PHP header() 无法正常工作

    我是网络开发新手 现在我正在开发网站上的登录功能 我使用 Javascript AJAX 获取用户名和密码并将其发送到 PHP 文件以在 MYSQL 数据库上进行验证 这就是我要做的 我的问题是为什么 header 函数不能正常工作 我想在
  • 如何用Python提取网页的某些部分

    目标网页 http www immi gov au skilled general skilled migration estimated allocation times htm http www immi gov au skilled
  • 如何使用 TCPDF 将字体嵌入到 PDF 中?

    我尝试使用 TCPDF 其代码如下 require once SERVER DOCUMENT ROOT tcpdf tcpdf php pdf new TCPDF PDF PAGE ORIENTATION PDF UNIT PDF PAGE
  • 即使选择数据库后也会出现“未选择数据库”错误

    我已经选择了数据库 但由于某种奇怪的原因 它仍然说它没有被选择 连接线 location localhost user user pass pass Database Selection link mysql connect locatio
  • Zend Framework 2 SOAP AutoDiscover 和复杂类型

    我正在准备 SOAP 服务器并使用以下代码生成 WSDL Controller action code if key exists wsdl params autodiscover new AutoDiscover autodiscover
  • 如何在Carbon实例中添加CarbonInterval实例

    我有一个碳实例 a Carbon Carbon now Carbon Carbon date 2018 06 11 10 00 00 timezone type 3 timezone Europe Vienna 和一个 CarbonInte
  • 如何循环调用分页函数?

    我正在尝试使用空气桌API https airtable com api从我的数据中检索记录 具体来说 是我在列单元格中的 URL 列表 我写了一个函数 get airtable records 通过以下方式进行 API 调用curl它可以
  • 计算已发布字符串中的行数

    我试过这个 PHP 中计算文本区域中的新行以调整容器大小 https stackoverflow com questions 1743745 count new lines in textarea to resize container i
  • PHP 警告:模块“mcrypt”已加载

    当我使用 PHP 运行命令时 它显示一个错误 例如当我跑步时php v查看我的 PHP 版本 它显示一个错误 然后显示有关 PHP 的信息 模块 mcrypt 已加载到第 0 行的 未知 中 zied ubuntu php v PHP Wa
  • iPad html5 视频没有控件?

    这让我苦恼了一整天 但我不知道如何让 html5 视频播放器在没有本机控件的情况下工作 我不想要任何控件 但如果我不包含它们 视频似乎不想播放 即使我在下面添加一些 javascript 试图强制它播放 它也适用于 iPhone 和多个浏览
  • 如何使用 PHP 在文件上传后重定向用户

    正如标题所说 我希望在用户上传文件后将用户重定向回主页 到目前为止 这些代码所做的只是显示一个包含相关信息 文件名 文件大小等 的页面 我想要将他们重定向到自定义成功页面 HTML
  • 使用 Javascript 进行 SVG 旋转

    我已经在 HTML 页面中创建了一个 SVG 图像 现在我想移动 SVG 形状以使用 JavaScript 按钮 我的应用程序的 JSFiddle 在这里 http jsfiddle net johndavies91 xwMYY http
  • angularjs表单重置错误

    我正在尝试使用 angularjs 制作一个带有验证的表单 到目前为止我做得很好 但是 当我提交重置按钮时 除了从验证部分收到的错误消息之外 所有字段都会重置 当我重置表单时 如何删除所有字段和错误消息 这就是我按下重置按钮时的情况 这是我
  • 根据所选付款方式更改 WooCommerce 提交结帐按钮文本

    I tried 更改 WooCommerce 中特定付款方式的结帐提交按钮文本 https stackoverflow com questions 45739331 change checkout submit button text fo
  • 两个选择框重叠

    我有两个选择框HTML 一个在另一个之下 第一个选择框正常 第二个选择框默认打开 意味着无需单击即可显示选项 现在当我点击第一个select box它的内容移动到另一个的后面select box HTML
  • PHP:如何使图像中的绿色区域(背景)透明?

    我是 Stackoverflow 的新人 我非常想弄清楚是否可以使用 PHP 脚本使图像的特定颜色透明 如果是的话 该如何去做呢 假设这是背景颜色 绿色 必须完全透明的图像 法国热狗带绿色背景 http clubace dk hotdog1
  • 解析错误:语法错误,意外的 T_SL PHP heredoc

    我不断收到以下错误 解析错误 语法错误 home a4999406 public html willingLog html 第 70 行出现意外的 T SL 以下代码 第一行是第 70 行 echo lt lt
  • 垂直对齐到另一个 div 的动态高度?

    我正在尝试将一个 div 与高度动态的相邻 div 垂直对齐 我遇到的大多数方法都要求我知道父 div 的高度 但如果你看我的例子 就会发现是 右 div 驱动了整个部分的高度 我试图让 div 左 中的文本垂直居中显示在右侧的 div 上
  • 为移动设备设计网页界面

    如何使您的网站在标准浏览器和各种可用的移动设备上看起来都很好 目前 我尚未决定是尝试调整布局大小以使其适用于小型设备 还是为移动设备提供单独的 CSS 我的用例是一个国际象棋游戏 我希望整个棋盘都可用而无需向下滚动 你会推荐什么 基本上没有
  • 与数据库同步的基于 PHP 的数据库模型?

    Django 模型真的很酷 因为您可以在代码中定义所有模型 表 然后将其与数据库同步 这样 当您去更新生产服务器时 您只需运行迁移 同步脚本 并且不会忘记更新任何表 我现在正在从事的项目不是基于 Django 或 Python 而是用 PH

随机推荐

  • 如何按字母顺序对单键字典数组进行排序?

    我想对 Facebook 的 Graph API 返回的好友列表进行排序 排序后的结果需要是按好友名字的字母顺序排列 name Joe Smith id 6500000 name Andrew Smith id 82000 name Dor
  • ActiveRecord 触摸导致死锁

    我的应用程序使用touch广泛地利用 Rails 的模板缓存系统 当批量中的许多不同对象之间创建许多关系时 我的应用程序会执行某种类型的工作 有时 其中一些工作会导致级联touches 导致死锁 我可以针对这种情况进行编码 我经常看到这种情
  • Instagram 如何命名文件

    Instagram 如何命名文件 文件名是随机的吗 基于某种哈希 或者它们有什么意义吗 例如 http distilleryimage2 instagram com 21a9ca729bf511e2985c22000a1f9ad3 7 jp
  • 为什么这个简单的洗牌算法(通过 random() 排序)存在偏差?

    In 这个线程 https stackoverflow com a 18650169 17102262我们看到这个简单而漂亮的算法来洗牌数组 function shuffle
  • 限制 Webstorm 中的重构范围

    有没有一种方法可以配置 Webstorm 以便在重构时忽略我项目的特定区域 具体来说 我希望能够忽略包含第 3 方依赖项和构建资产的文件夹 例如 node modules 您可以按照描述创建这些文件夹的 JavaScript 库here h
  • 如何在ggplot2图例标签中添加Latex代码?

    考虑以下示例 p lt ggplot data data frame A c 1 2 3 4 5 6 7 8 B c 4 1 2 1 3 2 4 1 C c A B A B A B A B p lt p geom line aes x A
  • 为什么 BITMAPS 加载“向上”?

    如果您有一个非常非常大的 JPG 和嵌入 HTML 的 BMP 并将其加载到 Firefox 中 您会注意到 JPG 将 向下 加载 从左到右绘制 然后向下 而 BMP 将 向上 加载 从右向左绘画 然后向上 只是好奇 我不久前写了一个位图
  • 更改引导程序中单击按钮的颜色

    我正在尝试更改单击按钮的颜色 我正在蓝色的 Bootstrap 按钮上执行此操作 但我的代码不起作用 我的 JavaScript 代码如下 它没有改变颜色
  • jqGrid - 未应用日期和时间格式

    我有一个显示 3 列的 jqGrid 其中一列是日期时间 正在返回的 SQL 日期时间字段 colModel 设置如下 colModel name col1 sortable false name col2 sortable false n
  • 我可以分享到我的 NativeScript 应用程序吗?

    在 NativeScript 的当前状态下 是否可以创建一个在 Android 上侦听共享意图的应用程序 我想要实现的是 例如在 Android 上的网络浏览器中打开一个网站 点击共享并在共享目标列表中查看我的 NativeScript 应
  • 如何隐藏 html 表格中的多行(数千行)

    我有很多行的 html 页面 大约 40000 table tr td row 1 td tr tr td row 2 td tr tr td row 30000 td tr table 我需要一种快速的方法来隐藏 显示具有指定名称的行集
  • 如何修复 emacs 中的“正则表达式匹配器中的堆栈溢出”

    我是 Emacs 的忠实粉丝 并且经常使用它 尤其是在编程和调试 使用 gud C C 时 最近我必须调试一个程序 相当简单 但需要计算大量数据 图论 但我遇到了一个相当烦人的问题 在程序逐步执行过程中 出现以下错误 error in pr
  • 将 pandas 数据帧导出到 xlsx:处理 python 3.9 上的 openpyxl 问题

    使用最新的软件包版本 openpyxl 3 0 6 熊猫 1 2 3 蟒蛇 3 9 在将上面的软件包更新到报告的最新版本之前 下面的功能运行良好 现在它会引发错误 zipfile BadZipFile 文件不是 zip 文件 这样的功能确实
  • 禁用引导日期时间选择器中的时间

    我在我的 Web 应用程序中使用由 PHP HTML5 和 JavaScript 制作的引导日期时间选择器 我目前正在使用这里的一个 http tarruda github io bootstrap datetimepicker http
  • jboss 关闭未发生,卡在消息:Closing Spring root WebApplicationContext

    2010 01 30 03 25 27 598 INFO org apache catalina core ContainerBase 关闭 Spring FrameworkServlet expertx 的 WebApplicationC
  • Visual Studio Code 转到定义无法正常工作

    我正在研究一个简单的Node js项目与NextJS其中转到定义不能正常工作vscode 我做了一个小video https youtu be O avWLIEm3k之间的差异视觉工作室代码 and WebStorm 其中WebStorm
  • 为使用 OpenCV 的 C++ 代码编写 Python 绑定

    我正在尝试为一些使用 OpenCV 的 C 代码编写一个 python 包装器 但我在将结果 OpenCV C Mat 对象 返回给 python 解释器时遇到困难 我查看了 OpenCV 的源代码 发现文件 cv2 cpp 具有转换函数
  • https 的 socat 端口转发

    我可以用socat对于这样的端口转发 socat TCP4 LISTEN 8080 TCP4 123 456 789 12 80 在这种情况下 它完美地工作 所有http 请求localhost 8080将被重定向到123 456 789
  • 获取一个字符串在另一个字符串中出现的次数

    我需要输入两个字符串 第一个字符串是任何单词 第二个字符串是前一个字符串的一部分 我需要输出第二个字符串出现的次数 例如 字符串 1 CATSATONTHEMAT 字符串 2 AT 输出将为 3 因为 AT 在 CATSATONTHEMAT
  • 导出/下载表 HTML-PHP 到 Excel 文件

    我有一个 HTML PHP 表格 可以从 mySQL 中提取数据 请看这里link https anakpanti com ab cargo controllers searchshipment 例如 请搜索此发货代码以获取表格内的结果 4