0

是否可以从 AIR 桌面应用程序在 Excel 中打开 XML?

我有一个 XML 数据库,我想在 Excel 中打开它进行打印。我认为打印存储在数据网格(闪存组件)中的完整数据是不可能的。

提前致谢。

::::: 更新我 :::::

在null.point3r的帮助下,我找到了 Excel。现在我必须尝试了解如何用它打开 XML。

他给了我链接的线索:

午餐 excel 并打开 XML 文件。(创建一个NativeProcess并将 XML 路径作为参数传递)excel 的命令行开关

但我对这些东西很陌生,所以如果有人有一个例子,我会感谢他的帮助。

到目前为止我所拥有的:

import flash.filesystem.File;

var myXML = File.documentsDirectory.resolvePath("storage/companies.xml");

if(myXML.exists){
    trace ("Eureka!!!");
}

var excel:File = new File(); 
excel.nativePath = "C:\\Archivos de programa\\Microsoft Office\\Office12\\excel.exe";

if(excel.exists){
    trace ("Got it!!!");
}
//get executable(file.nativePath):File;

注意:我将使用数组和循环来检查不同的 Office 版本。

:::: 更新二 ::::

我收到错误 #3219:无法启动 NativeProcess。“当前配置文件不支持。”:

import flash.filesystem.File;

var myXML = File.documentsDirectory.resolvePath("storage/companies.xml");

if (myXML.exists) {
    trace(myXML.nativePath);
}

var process:NativeProcess;
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var excel:File = new File();
excel.nativePath = "C:\\Archivos de programa\\Microsoft Office\\Office12\\excel.exe";

if (excel.exists) {
    trace(excel.nativePath);
}

nativeProcessStartupInfo.executable = excel;

var processArgs:Vector.<String> = new Vector.<String>();
processArgs[0] = String(myXML.nativePath);
nativeProcessStartupInfo.arguments = processArgs;

process = new NativeProcess();
process.start(nativeProcessStartupInfo);
4

1 回答 1

1

更新:

var process:NativeProcess;
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var excel:File = new File(); 
excel.nativePath = "path\to\excel";
if(excel.exists){
    trace (excel.nativePath);
}
nativeProcessStartupInfo.executable = excel;

var processArgs:Vector.<String> = new Vector.<String>();
processArgs[0] = "path\to\xml";
nativeProcessStartupInfo.arguments = processArgs;

process = new NativeProcess();
process.start(nativeProcessStartupInfo);
于 2013-09-10T08:01:38.090 回答