Javascript 导出到excel功能不工作
有人建议我使用这个函数将我的数据表导出到excel,但它导出HTML而不仅仅是表中的数据。如何使其仅导出数据和格式(宽度、颜色…)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
函数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)
{
}
}