2013-12-19 3 views
0

У меня есть приложение WinForms, написанное на C#, и я хочу программно экспортировать некоторые данные в некоторые именованные диапазоны в шаблоне Excel. Я смотрел на этих форумах и в других местах и ​​ближайший код, который я могу найти то, что я хочу, это следующим образом -Итерация и заполнение именных диапазонов в Excel

private Excel.Workbook m_workbook; 
object missing = Type.Missing; 

    public void testNamedRangeFind() 
    { 
     m_workbook = Globals.ThisAddIn.Application.ActiveWorkbook; 
     int i = m_workbook.Names.Count; 
     string address = ""; 
     string sheetName = ""; 

     if (i != 0) 
     { 
      foreach (Excel.Name name in m_workbook.Names) 
      { 
       string value = name.Value; 
       //Sheet and Cell e.g. =Sheet1!$A$1 or =#REF!#REF! if refers to nothing 
       string linkName = name.Name; 
       //gives the name of the link e.g. sales 
       if (value != "=#REF!#REF!") 
       { 
        address = name.RefersToRange.Cells.get_Address(true, true, Excel.XlReferenceStyle.xlA1, missing, missing); 
        sheetName = name.RefersToRange.Cells.Worksheet.Name; 
       } 
       Debug.WriteLine("" + value + ", " + linkName + " ," + address + ", " + sheetName); 
      } 
     }  
    } 

Однако я получаю сообщение об ошибке говорящее "имя Глобал не существует в текущем контексте.

Может кто-нибудь объяснить, что это такое, я не понимаю этот код или, наоборот, указываю на какой-то другой код, который позволит мне публиковать значения из моей базы данных в шаблон Excel с указанными диапазонами.

+0

Что такое "Globals"? – Max

ответ

0

Этот код работает на VSTO (Visual Studio Tools for Office) и использует Microsoft.Office.Interop.Excel.

Таким образом, вы должны создать решение Office Excel Workbook в Visual Studio: File ->New ->Visual C# ->Office ->[ Select your Office version ] ->Excel Workbook

Смежные вопросы