2009-09-11 134 views
1

我想開發一個用於打開XML文件並自動啓動Excel的小工具。 用戶可以非常方便地將excel文件保存爲.xls格式。如何用Excel打開XML文件?

我開發IDE:的Windows XP專業版& Visual Studio 2005中

該工具將在Windows 2000中& Excel 2000中運行,並且沒有安裝.NET框架。

這意味着我不能與C#代碼。我選擇的是C++。

+1

我認爲你的問題可能是更適合http://www.rentacoder.com/RentACoder/DotNet/default.aspx – soulmerge 2009-09-11 09:25:01

回答

6

Oneliner:

int main() { 
    system("Start Excel test.xml"); 
} 
+0

很NICE一個:) +1 – vpram86 2009-09-11 09:34:37

+4

我們必須在我公司的中小企業應用,這就是所謂的...嗯... ...人類的幸福=) – 2009-09-11 09:36:46

+0

這倒提醒了我:http://www.thinkgeek.com/tshirts-apparel/unisex /挫折/ 374d/ – Tomalak 2009-09-11 12:12:27

0

如果我沒有記錯,你要打開一個Excel文件,然後自動啓動XML編輯器?

的方法是對XLS文件rightclicking時添加一個選項的菜單contect。

用於該用途的寄存器: HKEY_CLASSES_ROOT.xls \殼\

創建一個鍵(默認)和值類似「打開Excel和XML編輯器」 創建一個文件夾「命令」和鍵(默認)值「路徑到您的exe」「%L」在該文件夾中。

然後在你的應用程序趕上參數(其持有XLS) 然後做這樣的事情:

system(<var holding the xls name>); 
system(<path to xml editor>): 
0

你可以使用ShellExecute。它會自動啓動與特定擴展名關聯的程序,或者您可以手動選擇程序。

0

在C#

的OpenXML在MSDN - http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.workbooks.openxml(v=office.11).aspx

using Excel = Microsoft.Office.Interop.Excel; 

string workbookPath= @"C:\temp\Results_2013Apr02_110133_6692.xml"; 

      this.lblResultFile.Text = string.Format(@" File:{0}",workbookPath); 
      if (File.Exists(workbookPath)) 
      { 
       Excel.Application excelApp = new Excel.Application(); 
       excelApp.Visible = true; 
       Excel.Workbook excelWorkbook = excelApp.Workbooks.OpenXML(workbookPath, Type.Missing, Excel.XlXmlLoadOption.xlXmlLoadPromptUser); 
      } 
      else 
      { 
       MessageBox.Show(String.Format("File:{0} does not exists", workbookPath)); 
      }