//显示打开文件对话框选择一个文件,从客户端本地文件中载入报表模板
function btnLoadLocalFile_onclick() {
var fd = new ActiveXObject("MSComDlg.CommonDialog");
fd.Filter = "Report(*.grf)|*.grf";
//fd.Filter = "*.*";
fd.FilterIndex = 2;
// must setting
fd.MaxFileSize = 128;
fd.ShowOpen(); //fd.ShowSave();
var FileName = fd.FileName;
if (FileName != "") {
var fso = new ActiveXObject("Scripting.FileSystemObject");
FileName = fso.GetFileName(FileName);
// txtRptName.value = FileName.substr(0, FileName.length - 4);
ReportDesigner.Report.LoadFromFile(FileName);
ReportDesigner.Reload();
}
}
//另存为
function btnSaveFile_onclick() {
ReportDesigner.Post();
var fd = new ActiveXObject("MSComDlg.CommonDialog");
fd.Filter = "Report(*.grf)|*.grf";
// alert('fileDialog.CancelError;' + fd.CancelError);
// fd.CancelError = true;
//fd.Filter = "*.*";
fd.FilterIndex = 2;
// must setting
fd.MaxFileSize = 128;
try {
fd.ShowSave();
var FileName = fd.FileName;
if (FileName != "") {
var fso = new ActiveXObject("Scripting.FileSystemObject");
FileName = fso.GetFileName(FileName);
// Report.SaveToFile(FileName);
ReportDesigner.Report.SaveToFile(FileName);
}
} catch (e) {
if (e.message != 'Cancel was selected.')
alert(e.description);
}
}
<div class="navigationBg">
<input id="Button2" name="btnLoadLocalFile" οnclick="return btnLoadLocalFile_onclick()"
class="Btn" type="button" value="载入本地文件" />
<input id="Button4" name="btnLoadLocalFile" οnclick="return btnSaveFile_onclick()"
class="Btn" type="button" value="另存为" />
<input id="Button1" name="btnSave" class="Btn2" type="button" value="保存" language="javascript"
οnclick="return btnSave_onclick()" />
<input id="Button3" class="Btn2" type="button" value="关闭" language="javascript" οnclick="javascript:window.close();" />
</div>
打开和保存老是 出现 “Automation 服务器不能创建对象”,就算是注册表里面已经安装了,还是时好时坏,按照百度等 查询 虽然能解决一台电脑,但是其他的电脑还是出现问题,因为是BS的,所以 不能帮助所有用户做这个操作。
后来 觉得应该修改成不依赖注册组件的方式
//显示打开文件对话框选择一个文件,从客户端本地文件中载入报表模板
function btnLoadLocalFile_onclick() {
document.all.LOADFILE.click();
var FileName = document.all.LOADFILE.value;
if (FileName != "") {
var filetypes = FileName.substring(FileName.lastIndexOf('.') + 1, FileName.length)
if (filetypes == 'grf') {
ReportDesigner.Report.LoadFromFile(FileName);
ReportDesigner.Reload();
}
else {
alert("只能上传 *.grf 格式的报表文件!")
}
}
}
//另存为
function btnSaveFile_onclick() {
ReportDesigner.Post();
try {
var FileName = 'c:\\Report.grf';
if (FileName != "") {
ReportDesigner.Report.SaveToFile(FileName);
alert("报表文件已经保存到:" + FileName);
}
} catch (e) {
if (e.message != 'Cancel was selected.')
alert(e.description);
}
}
<input type="file" name="LOADFILE" style="display: none">
<div class="navigationBg">
<input id="Button2" name="btnLoadLocalFile" οnclick="return btnLoadLocalFile_onclick()"
class="Btn" type="button" value="载入本地文件" />
<input id="Button4" name="btnLoadLocalFile" οnclick="return btnSaveFile_onclick()"
class="Btn" type="button" value="另存为" />
<input id="Button1" name="btnSave" class="Btn2" type="button" value="保存" language="javascript"
οnclick="return btnSave_onclick()" />
<input id="Button3" class="Btn2" type="button" value="关闭" language="javascript" οnclick="javascript:window.close();" />
</div>