GVKun编程网logo

如何在php中将html表导出为excel或pdf(php将html转化为图片)

8

本篇文章给大家谈谈如何在php中将html表导出为excel或pdf,以及php将html转化为图片的知识点,同时本文还将给你拓展asp.net–将HTML表导出到Excel、asp.net–将数值强

本篇文章给大家谈谈如何在php中将html表导出为excel或pdf,以及php将html转化为图片的知识点,同时本文还将给你拓展asp.net – 将HTML表导出到Excel、asp.net – 将数值强制为HTML表导出为excel的文本、html页面导出为excel表格、html页面里table导出为excel等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何在php中将html表导出为excel或pdf(php将html转化为图片)

如何在php中将html表导出为excel或pdf(php将html转化为图片)

在我的php页面中,我有一个表,如果用户需要,他必须将该表导出到Excel工作表。

用于显示表格的代码是:

$sql=mysql_query("SELECT * FROM attendance WHERE (year = ''" . mysql_real_escape_string($_SESSION[''year'']) . "'') and ( branch= ''" . mysql_real_escape_string(($_SESSION[''branch''])). "'') and ( sem= ''" . mysql_real_escape_string(($_SESSION[''sem''])). "'') and (sec= ''" . mysql_real_escape_string(($_SESSION[''sec''])). "'')"); print "<body background=''bg.jpg''>";                                                  Print "<br><br><BR><center><table border cellpadding=3><tr><th>idno</th><th>name</th><th>subject</th><th>Held Classes</th><th>Attended Classes</th></tr>";   while($data=mysql_fetch_array( $sql ))   {echo "<tr><td>".$data[''idno'']." </td><td>".$data[''name''] . " <td>".$data[''subject'']." </td><td>".$data[''heldcls''] . " <td>".$data[''attendcls'']." </td>"; } Print "</table><br><br><form action = excel.php method = POST><input type = ''submit'' name = ''submit'' Value = ''Export to excel''></form></center>";

我如何将此表导出到Excel工作表。以及 excel.php中 的代码应该是什么。请帮助我..提前谢谢..

答案1

小编典典
使用PHP
Excel生成Excel文件。您可以在此处找到一个名为PHPExcel的好软件:https
//github.com/PHPOffice/PHPExcel

对于PDF生成,请使用http://princexml.com/

asp.net – 将HTML表导出到Excel

asp.net – 将HTML表导出到Excel

我在ASP.NET MVC View页面上有 HTML表.现在我必须将此表导出到Excel.

(1)我使用局部视图(Inquiries.ascx)来显示数据库中的表数据(使用LINQ to Entity)
(2)我也使用UITableFilter插件来过滤记录(例如:http://gregweber.info/projects/demo/flavorzoom.html)

(3)在任何时候,我都必须将可见记录过滤到Excel.

感谢您的回复.

谢谢

丽塔

这是我的观点:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Mvc.Master" Inherits="System.Web.Mvc.ViewPage" %>


<asp:Content ID="Content2" ContentPlaceHolderID="cphHead" runat="server">
<script src="../../Scripts/jquery.tablesorter.js" type="text/javascript"></script>
     <script src="../../Scripts/jquery.uitablefilter.js" type="text/javascript"></script>

<script type="text/javascript">
 //Load Partial View
$('#MyInquiries').load('/Home/Inquiries');

// To Apply Filter Expression using uiTableFilter plugin
            $("#searchName").keyup(function() {
                $.uiTableFilter($("#tblRefRequests"),this.value);
                $("#tblRefRequests").tablesorter({ widthFixed: true,widgets: ['zebra'] });
            });


//Export the HTML table contents to Excel
      $('#export').click(function() {
//Code goes here

});
</script>
</asp:Content>

//Main Content
<asp:Content ID="Content1" ContentPlaceHolderID="cphContent" runat="server">
<h2>View All Inquiries</h2>
<input type="submit" value="Export to Excel" id="export" />
<div id='MyInquiries'></div>
</asp:Content>

强类型部分视图用户控件(Inquiries.ascx)生成表:

<table>
    <tr><td valign ="middle">Filter Expression: <%= Html.TextBox("searchName")%></td></tr>
    </table>
    <table id="tblRefRequests" >
    <thead>
        <tr>
            <th>Tx_ID</th>
            <th>TX Date</th>
            <th>Name</th>
            <th>Email Address </th>
            <th>Products</th>
            <th>Document Name</th>
        </tr>
</thead>

<tbody>
    <% foreach (var item in Model) { %>
        <tr>
            <td visible =false><%= item.RequestID %></td>
            <td><%= String.Format("{0:d}",item.RequestDate) %></td>
            <td><%= item.CustomerName %></td>
            <td><%= Html.Encode(item.Email) %></td>
            <td><%= item.ProductName %></td>
            <td><%= Html.Encode(item.DocDescription)%></td>
        </tr>
    <% } %>
</tbody>
    </table>

这是我的控制器代码加载查询局部视图:

[HttpGet]
        public PartialViewResult Inquiries()
        {
var model = from i in myEntity.Inquiries
  where i.User_Id == 5
                        orderby i.TX_Id descending
                        select new {
                            RequestID = i.TX_Id,CustomerName = i.CustomerMaster.FirstName,RequestDate = i.RequestDate,Email = i.CustomerMaster.MS_Id,DocDescription = i.Document.Description,ProductName = i.Product.Name
                        };
            return PartialView(model);
        }

解决方法

尝试jQuery插件: table2csv.使用参数,delivery:’value’,将csv作为字符串返回.

这是一个实现:

>向页面添加常规html输入按钮和.NET HiddenField
>将onclick事件添加到名为“Export”的按钮
>创建一个javascript函数Export,它将table2CSV()的返回值存储到隐藏字段中,然后回发.
>服务器接收隐藏字段的发布数据(csv作为字符串)
>服务器将字符串作为csv文件输出到浏览器

.

// javascript  
function Export()  
{    
    $('#yourHiddenFieldId').val() = $('#yourTable').table2CSV({delivery:'value'});  
    __doPostBack('#yourExportBtnId','');  
}

// c#  
if(Page.IsPostBack)  
{
    if(!String.IsNullOrEmpty(Request.Form[yourHiddenField.UniqueId]))  
    {  
        Response.Clear();  
        Response.ContentType = "text/csv";  
        response.addheader("Content-disposition","attachment; filename=TheReport.csv");  
        Response.Flush();  
        Response.Write(Request.Form[yourHiddenField.UniqueID]);  
        Response.End();  
    }  
}

asp.net – 将数值强制为HTML表导出为excel的文本

asp.net – 将数值强制为HTML表导出为excel的文本

我试图在工作中修复一个bug,在传统的ASP中,一个 HTML表被渲染,然后作为一个Excel文件发送给客户端.我将放弃整个源代码示例,但是本质上我们有一列为字母数字,但当值以一个或多个零开始时,零将消失.我知道这是处理数字的标准Excel行为,但我希望它将该值视为文本.我该怎么做?

问题单元格:

Response.Write("<tdalign='left' NowRAP>" & rspodetail("ITM_ID") & "</td>")

例子

HTML | EXCEL
00212704 | 212704
00212336 | 212336
00212251 | 212251

解决方法

也许try =“00212704”
Response.Write("<tdalign='left' NowRAP>=""" & rspodetail("ITM_ID") & """</td>")

html页面导出为excel表格

html页面导出为excel表格

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title></title>
</head>

<body>
<div class="tools">
    <button type="button" class="btn green" id="excell" onclick="method5(''dataTable'')">导出考勤表格</button>
</div>

<table border="1" id="dataTable">
    <tr>
        <td>王婷111</td>
        <td>一见倾城333 </td>
    </tr>
    <tr>
        <td>祈澈姑娘222</td>
        <td>Python开发者交流平台44</td>
    </tr>
    <tr>
        <td>wwwangting888</td>
        <td>13661725475</td>
    </tr>
</table>

</body>
<script>
    //打印表格
    var idTmr;

    function getExplorer() {
        var explorer = window.navigator.userAgent;
        //ie
        if(explorer.indexOf("MSIE") >= 0) {
            return ''ie'';
        }
        //firefox
        else if(explorer.indexOf("Firefox") >= 0) {
            return ''Firefox'';
        }
        //Chrome
        else if(explorer.indexOf("Chrome") >= 0) {
            return ''Chrome'';
        }
        //Opera
        else if(explorer.indexOf("Opera") >= 0) {
            return ''Opera'';
        }
        //Safari
        else if(explorer.indexOf("Safari") >= 0) {
            return ''Safari'';
        }
    }

    function method5(tableid) {
        if(getExplorer() == ''ie'') {
            var curTbl = document.getElementById(tableid);
            var oXL = new ActiveXObject("Excel.Application");
            var oWB = oXL.Workbooks.Add();
            var xlsheet = oWB.Worksheets(1);
            var sel = document.body.createTextRange();
            sel.moveToElementText(curTbl);
            sel.select();
            sel.execCommand("Copy");
            xlsheet.Paste();
            oXL.Visible = true;

            try {
                var fname = oXL.Application.GetSaveAsFilename("Excel.xls",
                        "Excel Spreadsheets (*.xls), *.xls");
            } catch(e) {
                print("Nested catch caught " + e);
            } finally {
                oWB.SaveAs(fname);
                oWB.Close(savechanges = false);
                oXL.Quit();
                oXL = null;
                idTmr = window.setInterval("Cleanup();", 1);
            }

        } else {
            tableToExcel(tableid)
        }
    }

    function Cleanup() {
        window.clearInterval(idTmr);
        CollectGarbage();
    }
    var tableToExcel = (function() {
        var uri = ''data:application/vnd.ms-excel;base64,'',
                template = ''<html><head><meta charset="UTF-8"></head><body><table  border="1">{table}</table></body></html>'',
                base64 = function(
                        s) {
                    return window.btoa(unescape(encodeURIComponent(s)))
                },
                format = function(s, c) {
                    return s.replace(/{(\w+)}/g, function(m, p) {
                        return c[p];
                    })
                }
        return function(table, name) {
            if(!table.nodeType)
                table = document.getElementById(table)
            var ctx = {
                worksheet: name || ''Worksheet'',
                table: table.innerHTML
            }
            window.location.href = uri + base64(format(template, ctx))
        }
    })()
</script>

</html>

 

html页面里table导出为excel

html页面里table导出为excel

只要想不到,没有做不到,一直都不知道html里table元素可直接导出为excel,太牛逼了!

这其中用到一个jquery的插件table2excel 

使用方法也很简单:

1 。 包含必要的文件

<script src="src/1.11.1/jquery.min.js"></script>
<script src="src/jquery.table2excel.js"></script>

2。 创建导出按钮

<button>Export</button>

3。 给导出按钮添加事件

$(".table2excel").table2excel({
  exclude: ".noExl",  // 不想导出的行加上noExl''即可
  name: "Excel Document Name", // excel文档名
  filename: "myFileName" // excel文件名
});

完整的看下DEMO

<!DOCTYPE html>
<html>
  <head>
    <title>jQuery Boilerplate</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
    <script src="../src/jquery.table2excel.js"></script>
  </head>
  <body>
    <table  data-tableName="Test Table 1">
      <thead>
        <tr ><td>This shouldn''t get exported</td><td>This shouldn''t get exported either</td></tr>
        <tr><td>This Should get exported as a header</td><td>This should too</td></tr>
      </thead>
      <tbody>
        <tr><td>data1a</td><td>data1b</td></tr>
        <tr><td>data2a</td><td>data2b</td></tr>
      </tbody>
      <tfoot>
        <tr><td colspan="2">This footer spans 2 cells</td></tr>
      </tfoot>
    </table>

    <table  data-tableName="Test Table 2">
      <thead>
        <tr ><td>This shouldn''t get exported</td><td>This shouldn''t get exported either</td></tr>
        <tr><td>This Should get exported as a header</td><td>This should too</td></tr>
      </thead>
      <tbody>
        <tr><td>data1a</td><td>data1b</td></tr>
        <tr><td>data2a</td><td>data2b</td></tr>
      </tbody>
      <tfoot>
        <tr><td colspan="2">This footer spans 2 cells</td></tr>
      </tfoot>
    </table>

    <script>
      $(function() {
        $(".table2excel").table2excel({
          exclude: ".noExl",
          name: "Excel Document Name",
          filename: "myFileName"
        });
      });
    </script>
  </body>
</html>


关于如何在php中将html表导出为excel或pdfphp将html转化为图片的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于asp.net – 将HTML表导出到Excel、asp.net – 将数值强制为HTML表导出为excel的文本、html页面导出为excel表格、html页面里table导出为excel等相关内容,可以在本站寻找。

本文标签: