1、调用水晶报表、Cell, 嵌入FastReport的OCX等三方的东西,这种方式算是比较专业和比较传统的
2、直接调用window.print();这样的JS脚本,这种方法比较简单,但是格式不好控制,所以开发起来比较累,维护和升级也比较累
3、导出到Word或者execl,也是利用JS的功能,相对来说比方法2灵活,格式丰富一些,但是开发起来也比较累,有个办法就是建立对应的Office模板,然后再用这个代码,转个代码
var ExcelSheet;
ExcelApp = new ActiveXObject("Excel.Application"
;
ExcelSheet = new ActiveXObject("Excel.Sheet"
;
本代码启动创建对象的应用程序(在这种情况下,Microsoft Excel 工作表)。一旦对象被创建,就可以用定义的对象变量在代码中引用它。 在下面的例子中,通过对象变量 ExcelSheet 访问新对象的属性和方法和其他 Excel 对象,包括 Application 对象和 ActiveSheet.Cells 集合。
// 使 Excel 通过 Application 对象可见。
ExcelSheet.Application.Visible = true;
// 将一些文本放置到表格的第一格中。
ExcelSheet.ActiveSheet.Cells(1,1).Value = "This is column A, row 1";
// 保存表格。
ExcelSheet.SaveAs("C://TEST.XLS"
;
// 用 Application 对象用 Quit 方法关闭 Excel。
ExcelSheet.Application.Quit();
只有当 Internet 安全性关闭时才能完成在远程服务器中创建对象。要在远程网络计算机创建对象,可以将该计算机的名称传递给 ActiveXObject 的 servername 参数。该名称与共享名的机器名部分相同。比如共享名为 "//myserver/public"
的网络,servername 是 "myserver"。另外,可以用 DNS 格式或 IP 地址指定 servername。
下面的代码返回在名为 "myserver"
的远程网络计算机上运行的 Excel 实例的版本号:
function GetAppVersion() {
var XLApp = new ActiveXObject("Excel.Application", "MyServer"
;
return(XLApp.Version);
}
如果指定的远程服务器不存在或找不到时将发生错误。
--------------------------------
暂时只想倒这么多了,方法3可以先GetObject,如果没有在new对象出来