ActiveXObject创建连接访问cache(Ensemble)服务器,并将数据导出到excel

2014-11-24 11:36:10 · 作者: · 浏览: 5
[html]
<script type="text/java script">
function GetValue(){
var xlDialogOpen = 1;
//创建连接对象
var objFactory = new ActiveXObject("CacheActiveX.Factory");
//连接信息
var strConn = "cn_iptcp:127.0.0.1[1972]:YOURNAMESPACE:USERNAME:PASSWORD"
//连接成功返回true,否则返回false
var boolConn = objFactory.Connect(strConn);
if(boolConn){
//Test.CacheFactory的类名
var objClass = objFactory.Static("Test.CacheFactory");
var objExcel = new ActiveXObject("Excel.Application");
objExcel.Visible = false;
var objWorkBook = objExcel.Workbooks.Open("D:\\template.xls");
var objSheet = objWorkBook.Worksheets.Item(1);
//代码 描述 值 备注
objSheet.Cells(1, 1).Value = "姓名";
objSheet.Cells(1, 2).Value = "性别";
objSheet.Cells(1, 3).Value = "年龄";
objSheet.Cells(1, 4).Value = "婚姻状况";
//调用类中方法,返回数据
var strData = objClass.TestData();
alert(strData)
//解析数据
var arrData = strData.split("^");
for(var row = 0; row < arrData.length; row++)
{
var strRec = arrData[row];
var arrRec = strRec.split("_");
objSheet.Cells(row+2, 1).Value = arrRec[0];
objSheet.Cells(row+2, 2).Value = arrRec[1];
objSheet.Cells(row+2, 3).Value = arrRec[2];
objSheet.Cells(row+2, 4).Value = arrRec[3];
}
var fname = objExcel.Application.GetSaveAsFilename( "人员信息.xls","Excel Spreadsheets (*.xls), *.xls");
objWorkBook.SaveAs(fname);
//释放资源
objSheet = null;
objWorkBook.Close (savechanges=true);
objExcel.Quit();
objSheet = null;
objWorkBook = null;
objExcel = null;
}else{
alert("连接失败");
}
}
<a href="http://www.2cto.com/soft" target="_blank" class="keylink">下载</a>
Cache中导出excel以及js中建立连接到class
  • 点击导出人员信息
  • 使用ActiveXObject此方法支持IE 浏览器,火狐浏览器需要下载activexobject相关插件
    导出效果:
    服务器端代码:
    [java]
    Class Test.CacheFactory Extends (%Persistent, %XML.Adaptor)
    {
    //测试,返回数据
    ClassMethod TestData() As %String
    {
    q "张三_男_22_未婚^李四_女_30_未婚"
    }
    }