Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 导出到excel功能不工作_Javascript_Html_Excel_Export - Fatal编程技术网

Javascript 导出到excel功能不工作

Javascript 导出到excel功能不工作,javascript,html,excel,export,Javascript,Html,Excel,Export,有人建议我使用这个函数将我的数据表导出到excel,但它导出HTML而不仅仅是表中的数据。如何使其仅导出数据和格式(宽度、颜色…) 函数ExportHTMLTableToExcel() { var thisTable=document.getElementById(“表”).innerHTML; window.clipboardData.setData(“文本”,此表); var objExcel=新的ActiveXObject(“Excel.Application”); objExcel.v

有人建议我使用这个函数将我的数据表导出到excel,但它导出HTML而不仅仅是表中的数据。如何使其仅导出数据和格式(宽度、颜色…)


函数ExportHTMLTableToExcel()
{
var thisTable=document.getElementById(“表”).innerHTML;
window.clipboardData.setData(“文本”,此表);
var objExcel=新的ActiveXObject(“Excel.Application”);
objExcel.visible=true;
var objWorkbook=objExcel.Workbooks.Add;
var objWorksheet=objWorkbook.工作表(1);
粘贴;
警报(“测试”);
}
爪哇朋友
ab
12
获取Excel电子表格

注意:只有当安全选项
下载未签名的activex控件
下载已签名的activex控件
设置为“启用”时,此功能才能在IE中工作jQuery DataTables TableTools插件将允许您非常轻松地将HTML表导出到Excel,但它不会处理格式设置

您可以在此处看到插件运行的示例:

它可能无法处理格式化,但它确实使导出HTML表变得非常容易


如果绝对需要格式化,那么您需要考虑将数据发送回服务器,然后让服务器将HTML处理成Excel。如果您使用的是ASP.net,那么它实际上很容易做到。

请使用此代码,它对我来说运行良好

public void ExportToSpreadsheet(DataTable table, string name)
        {
            try
            {
                HttpContext context = HttpContext.Current;
                context.Response.Clear();
                context.Response.ClearHeaders();
                String sr = string.Empty;
                sr += "<html><body><table>";
                sr += "<tr style=\"background-color:gray;color:white;\">";
                foreach (DataColumn column in table.Columns)
                {
                    sr += "<th>";
                    sr += column.ColumnName;
                    sr += "</th>";
                }
                sr += "</tr>";
                sr += Environment.NewLine;
                foreach (DataRow row in table.Rows)
                {
                    sr += "<tr>";
                    for (int i = 0; i < table.Columns.Count; i++)
                    {
                        sr += "<td>";
                        sr += row.ItemArray[i];
                        sr += "</td>";
                    }
                    sr += "</tr>";
                    sr += Environment.NewLine;
                }
                sr += "</table></body></html>";               
                context.Response.ContentType = "application/vnd.ms-excel";               
                context.Response.AddHeader("Content-Disposition", "attachment; filename=" + name + ".xls");                        
                context.Response.Write(sr);
                context.Response.Flush();
                context.Response.End();
                context.Response.Close();
            }
            catch (Exception ex)
            {

            }
        }
public void ExportToSpreadsheet(数据表,字符串名称)
{
尝试
{
HttpContext=HttpContext.Current;
context.Response.Clear();
context.Response.ClearHeaders();
String sr=String.Empty;
sr+=”;
sr+=”;
foreach(table.Columns中的DataColumn列)
{
sr+=”;
sr+=column.ColumnName;
sr+=”;
}
sr+=”;
sr+=Environment.NewLine;
foreach(table.Rows中的DataRow行)
{
sr+=”;
for(int i=0;i

希望有此帮助。

我不能使用其他数据表,因为此表是由我正在使用的商业智能报告软件生成的。所以它必须是标准的html表
public void ExportToSpreadsheet(DataTable table, string name)
        {
            try
            {
                HttpContext context = HttpContext.Current;
                context.Response.Clear();
                context.Response.ClearHeaders();
                String sr = string.Empty;
                sr += "<html><body><table>";
                sr += "<tr style=\"background-color:gray;color:white;\">";
                foreach (DataColumn column in table.Columns)
                {
                    sr += "<th>";
                    sr += column.ColumnName;
                    sr += "</th>";
                }
                sr += "</tr>";
                sr += Environment.NewLine;
                foreach (DataRow row in table.Rows)
                {
                    sr += "<tr>";
                    for (int i = 0; i < table.Columns.Count; i++)
                    {
                        sr += "<td>";
                        sr += row.ItemArray[i];
                        sr += "</td>";
                    }
                    sr += "</tr>";
                    sr += Environment.NewLine;
                }
                sr += "</table></body></html>";               
                context.Response.ContentType = "application/vnd.ms-excel";               
                context.Response.AddHeader("Content-Disposition", "attachment; filename=" + name + ".xls");                        
                context.Response.Write(sr);
                context.Response.Flush();
                context.Response.End();
                context.Response.Close();
            }
            catch (Exception ex)
            {

            }
        }