2015-10-28 13 views
0

Мне нужно извлечь информацию из базы данных Sybase и поместить ее в файл Excel. Из-за этого извлечения использует подзапрос, я использую SQL Task для извлечения информации и помещаю ее в переменную (Data type = Object). Поэтому мне нужно получить данные из переменной и сохранить ее в файл Excel. Вот то, что я до сих пор:Экспорт в Excel из задачи SQL

enter image description here

enter image description here

enter image description here

ответ

0

Здесь нет решение: enter image description here enter image description here

Затем отредактируйте скрипт и добавьте следующий код к основной функции:


Public Sub Main() 
     ' 
     ' Add your code here 
     ' 

     Dim varExcelApplication As Object 
     Dim varExcelBook As Object 
     Dim varExcelSheet As Object 
     Dim varNumeroFila As Integer 
     Dim varNumeroColumna As Integer 
     Dim varResults As DataSet 
     Dim varRow As DataRow 
     Dim varColumn As DataColumn 

     Try 
      ' Crea la instancia de Excel 
      varExcelApplication = CreateObject("Excel.Application") 
      varExcelBook = varExcelApplication.Workbooks.Add() 
      varExcelSheet = varExcelBook.ActiveSheet 
      varExcelApplication.Visible = False 
      varExcelApplication.DisplayAlerts = False 

      ' Carga los resultados del query 
      varResults = CType(Dts.Variables("varRecordSetEstimaciones").Value, DataSet) 

      For Each varTabla As DataTable In varResults.Tables 
       varNumeroFila = 1 
       For Each varRow In varTabla.Rows 
        varNumeroColumna = 1 
        For Each varColumn In varTabla.Columns 
         ' Añade la cabecera para la primera fila 
         If varNumeroFila = 1 Then 
          varExcelSheet.Cells(1, varNumeroColumna) = varColumn.ColumnName.ToString 
         End If 
         varExcelSheet.Cells(varNumeroFila + 1, varNumeroColumna) = varRow(varColumn.Ordinal).ToString 
         varNumeroColumna = varNumeroColumna + 1 
        Next 
        varNumeroFila = varNumeroFila + 1 
       Next 
      Next 

      ' Guarda el archivo 
      varExcelBook.SaveAs(Dts.Variables("varPath").Value.ToString & "\Estimaciones.xlsx") 
      varExcelApplication.Workbooks.Close() 
      varExcelApplication.Quit() 

      Dts.TaskResult = ScriptResults.Success 
     Catch ex As Exception 
      MsgBox(ex.Message) 
      Dts.TaskResult = ScriptResults.Failure 
     End Try 

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