con Visual Basic Applications
Tambien lo puedes hacer con Macros de Visual Basic Applications (con CTRL+F11 entras a la interfaz de programacion Excel), y te conectas via ODBC o bien con un driver de conexion de IBM (obvio tienes que tener Client Access instalado), un ejemplo de programacion visual basic es:
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "ODBCAAS400", "USUARIO", "PWD"
Set rs = New ADODB.Recordset
rs.Open strSql, cnn
Workbooks.Add
' StrSql es la Cadena de SQL del SELECT FROM)
Cells(1, 1) = strSql
renglon = 2
' Carga nombres de campos
For i = 1 To rs.Fields.Count
Cells(renglon, i) = rs.Fields(i - 1).Name
Next
Rows(2).Font.Bold = True
' Ciclo principal de lectura de campos
Do While Not rs.EOF
renglon = renglon + 1
For i = 1 To rs.Fields.Count
If rs.Fields(i - 1).Type = 131 Then
Dim CPO1 As Double
CPO1 = rs.Fields(i - 1).Value
Cells(renglon, i) = CPO1
Else
Cells(renglon, i) = "'" & rs.Fields(i - 1)
End If
Next
rs.MoveNext
Loop
MsgBox "Proceso concluido"