var selectedDatabase = ArisData.getSelectedDatabases();
var outFile;
var inFile;
var nloc = Context.getSelectedLanguage();
var standardTemplate = "2ed57d10-68c8-11d7-5d85-000bcd25c95f";
function getImportFile() {
var sdefname = "";
var sdefext = "*.xls!!Excel|*.xls||";
var sdefdir = Context.getProfileString("Report", "Output Directory", "");
var stitle = "请选择输入文件";
var importfileList = Dialogs.BrowseForFiles(sdefname, sdefext, sdefdir, stitle, 0);
if ((importfileList!=null) && (importfileList.length>0))
return importfileList[0];
}
function isContained(list1, item1) {
for (var i=0; i<list1.length; i++) {
if (list1[i].IsEqual(item1))
return true;
}
return false;
}
function output_string(str) {
//outFile.OutputLn(str, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, Constants.FMT_BOLD | Constants.FMT_LEFT, 0);
}
function importSheet(curDatabase, curSheet) {
var _attrList = new Array();
for (var i=0; curSheet.getCell(0, i)!=null; i++)
_attrList.push(curSheet.getCell(0, i).getCellValue());
for (var i=1; i<curSheet.getAbsoluteFilledRowCount(); i++) {
var curObj = null;
for (var j=0; j<_attrList.length; j++) {
if (curSheet.getCell(i, j)!=null) {
var _str = curSheet.getCell(i, j).getCellValue();
if (!"".equals(_str)) {
if ("GUID".equals(_attrList[j])) {
curObj = curDatabase.FindGUID(_str);
if (curObj == null) output_string("ERROR: Can't find GUID "+_str+" !");
} else {
if (curObj != null) {
var _value = parseInt(_attrList[j]);
if (_value > 0) {
var _oldStr = curObj.Attribute(_value, nloc).getValue();
if (!_str.equals(_oldStr)) {
if (curObj.Attribute(_value, nloc).setValue(_str))
output_string("Object "+curObj.GUID()+" value "+_value+" "+_oldStr+" changed to "+_str+".");
else
output_string("NOTE: Object "+curObj.GUID()+" value "+_value+" "+_oldStr+" changed to "+_str+" is failed!");
}
}
else
output_string("ERROR: No such an attribute "+_attrList[j]);
}
}
}
}
}
}
}
function main() {
inFile = getImportFile();
if ((selectedDatabase.length >0) && (inFile != null)) {
var dataReader = Context.getExcelReader(inFile.getData());
var sheetList = dataReader.getSheets();
// outFile = Context.createOutputObject(Context.getSelectedFormat(), Context.getSelectedFile());
for (var i=0; i<sheetList.length; i++)
importSheet(selectedDatabase[0], sheetList[i]);
// outFile.WriteReport(Context.getSelectedPath(), Context.getSelectedFile());
}
}
main();
请简要说明代码实现的功能。
var outFile;
var inFile;
var nloc = Context.getSelectedLanguage();
var standardTemplate = "2ed57d10-68c8-11d7-5d85-000bcd25c95f";
function getImportFile() {
var sdefname = "";
var sdefext = "*.xls!!Excel|*.xls||";
var sdefdir = Context.getProfileString("Report", "Output Directory", "");
var stitle = "请选择输入文件";
var importfileList = Dialogs.BrowseForFiles(sdefname, sdefext, sdefdir, stitle, 0);
if ((importfileList!=null) && (importfileList.length>0))
return importfileList[0];
}
function isContained(list1, item1) {
for (var i=0; i<list1.length; i++) {
if (list1[i].IsEqual(item1))
return true;
}
return false;
}
function output_string(str) {
//outFile.OutputLn(str, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, Constants.FMT_BOLD | Constants.FMT_LEFT, 0);
}
function importSheet(curDatabase, curSheet) {
var _attrList = new Array();
for (var i=0; curSheet.getCell(0, i)!=null; i++)
_attrList.push(curSheet.getCell(0, i).getCellValue());
for (var i=1; i<curSheet.getAbsoluteFilledRowCount(); i++) {
var curObj = null;
for (var j=0; j<_attrList.length; j++) {
if (curSheet.getCell(i, j)!=null) {
var _str = curSheet.getCell(i, j).getCellValue();
if (!"".equals(_str)) {
if ("GUID".equals(_attrList[j])) {
curObj = curDatabase.FindGUID(_str);
if (curObj == null) output_string("ERROR: Can't find GUID "+_str+" !");
} else {
if (curObj != null) {
var _value = parseInt(_attrList[j]);
if (_value > 0) {
var _oldStr = curObj.Attribute(_value, nloc).getValue();
if (!_str.equals(_oldStr)) {
if (curObj.Attribute(_value, nloc).setValue(_str))
output_string("Object "+curObj.GUID()+" value "+_value+" "+_oldStr+" changed to "+_str+".");
else
output_string("NOTE: Object "+curObj.GUID()+" value "+_value+" "+_oldStr+" changed to "+_str+" is failed!");
}
}
else
output_string("ERROR: No such an attribute "+_attrList[j]);
}
}
}
}
}
}
}
function main() {
inFile = getImportFile();
if ((selectedDatabase.length >0) && (inFile != null)) {
var dataReader = Context.getExcelReader(inFile.getData());
var sheetList = dataReader.getSheets();
// outFile = Context.createOutputObject(Context.getSelectedFormat(), Context.getSelectedFile());
for (var i=0; i<sheetList.length; i++)
importSheet(selectedDatabase[0], sheetList[i]);
// outFile.WriteReport(Context.getSelectedPath(), Context.getSelectedFile());
}
}
main();
请简要说明代码实现的功能。