Edit 4
We can project it on xy
plane by setting z=0
.
n = 250;
m = n/2;
CC = {{165.7, 63.9, 63.9, 0, 0, 0}, {63.9, 165.7, 63.9, 0, 0,
0}, {63.9, 63.9, 165.7, 0, 0, 0}, {0, 0, 0, 2*79.6, 0, 0}, {0, 0,
0, 0, 2*79.6, 0}, {0, 0, 0, 0, 0, 2*79.6}};
phi = N[Range[0, Pi, Pi/(m - 1)]];
theta = N[Range[0, 2*Pi, 2*Pi/(n - 1)]];
EE = xei = yei = zei = ConstantArray[0, {m, n}];
SS = Inverse[CC];
Table[xhen = {Sin[phi[[j]]]*Cos[theta[[i]]],
Sin[phi[[j]]]*Sin[theta[[i]]], Cos[phi[[j]]]};
xiaoa = KroneckerProduct[xhen, xhen];
dbV = {xiaoa[[1, 1]], xiaoa[[2, 2]], xiaoa[[3, 3]],
Sqrt[2]*xiaoa[[2, 3]], Sqrt[2]*xiaoa[[1, 3]],
Sqrt[2]*xiaoa[[1, 2]]};
FFXX = SS.dbV;
EE[[j, i]] = 1/(dbV.FFXX), {i, n}, {j, m}];
Table[xei[[j, i]] = EE[[j, i]]*Sin[phi[[j]]]*Cos[theta[[i]]];
yei[[j, i]] = EE[[j, i]]*Sin[phi[[j]]]*Sin[theta[[i]]];
zei[[j, i]] = EE[[j, i]]*Cos[phi[[j]]];, {i, n}, {j, m}];
data = Transpose[Flatten /@ {xei, yei, zei, EE}];
data[[All, 3]] = 0;
color = Blend["ThermometerColors", Rescale[#, MinMax@EE]] &;
Legended[Graphics3D[{color[Last[#]], AbsolutePointSize[20],
Point[Most[#]]} & /@ data, ImageSize -> Large,
ViewPoint -> Above, Boxed -> False],
BarLegend[{color, MinMax@EE}, LegendMarkerSize -> {22, 400}]]

Or
data = Transpose[Flatten /@ {xei, yei, zei, EE}];
data = data[[All, {1, 2, 4}]];
Legended[Graphics[{color[Last[#]], AbsolutePointSize[20],
Point[Most[#]]} & /@ data, ImageSize -> Large],
BarLegend[{color, MinMax@EE}, LegendMarkerSize -> {22, 400}]]

Or you achieve this by using @xzczd
CC = {{165.7, 63.9, 63.9, 0, 0, 0}, {63.9, 165.7, 63.9, 0, 0,
0}, {63.9, 63.9, 165.7, 0, 0, 0}, {0, 0, 0, 2 79.6, 0, 0}, {0, 0,
0, 0, 2 79.6, 0}, {0, 0, 0, 0, 0, 2 79.6}};
SS = Inverse[CC];
xhen = {Sin[phi] Cos[theta], Sin[phi] Sin[theta], Cos[phi]};
xiaoa = Outer[Times, xhen, xhen];
dbV = {xiaoa[[1, 1]], xiaoa[[2, 2]], xiaoa[[3, 3]],
Sqrt[2] xiaoa[[2, 3]], Sqrt[2] xiaoa[[1, 3]],
Sqrt[2] xiaoa[[1, 2]]};
EE = 1/dbV.SS.dbV;
SphericalPlot3D[EE, {phi, 0, Pi}, {theta, 0, 2 Pi},
ColorFunction ->
Function[{x, y, z, phi, theta, r},
ColorData["ThermometerColors"][r]], ViewPoint -> Above,
Boxed -> False, Axes -> False, PlotPoints -> 100, Mesh -> None]

Edit 3
You can increase number of point by increasing n
.

{col, row} = ImageDimensions@parula;
ParulaMMA =
Module[{colorlist},
colorlist =
Catenate@
ImageData@ImageTake[parula, {Round[row/2], Round[row/2]}, All];
Evaluate[Blend[RGBColor @@@ colorlist, Rescale[#, MinMax@EE]] &]];
n = 250;
m = n/2;
CC = {{165.7, 63.9, 63.9, 0, 0, 0}, {63.9, 165.7, 63.9, 0, 0,
0}, {63.9, 63.9, 165.7, 0, 0, 0}, {0, 0, 0, 2*79.6, 0, 0}, {0, 0,
0, 0, 2*79.6, 0}, {0, 0, 0, 0, 0, 2*79.6}};
phi = N[Range[0, Pi, Pi/(m - 1)]];
theta = N[Range[0, 2*Pi, 2*Pi/(n - 1)]];
EE = xei = yei = zei = ConstantArray[0, {m, n}];
SS = Inverse[CC];
Table[
xhen = {Sin[phi[[j]]]*Cos[theta[[i]]],
Sin[phi[[j]]]*Sin[theta[[i]]], Cos[phi[[j]]]};
xiaoa = KroneckerProduct[xhen, xhen];
dbV = {xiaoa[[1, 1]], xiaoa[[2, 2]], xiaoa[[3, 3]],
Sqrt[2]*xiaoa[[2, 3]], Sqrt[2]*xiaoa[[1, 3]],
Sqrt[2]*xiaoa[[1, 2]]};
FFXX = SS.dbV;
EE[[j, i]] = 1/(dbV.FFXX), {i, n}, {j, m}];
Table[xei[[j, i]] = EE[[j, i]]*Sin[phi[[j]]]*Cos[theta[[i]]];
yei[[j, i]] = EE[[j, i]]*Sin[phi[[j]]]*Sin[theta[[i]]];
zei[[j, i]] = EE[[j, i]]*Cos[phi[[j]]];, {i, n}, {j, m}];
data = Transpose[Flatten /@ {xei, yei, zei, EE}];
Legended[Graphics3D[{ParulaMMA[Last[#]], AbsolutePointSize[20],
Point[Most[#]]} & /@ data, Axes -> True, ImageSize -> Large,
PlotRange -> {{-200, 200}, {-200, 200}, {-200, 200}}],
BarLegend[{ParulaMMA, MinMax@EE}, LegendMarkerSize -> {22, 400}]]

Or
Mathematica's built in gradient color
color = Blend["ThermometerColors", Rescale[#, MinMax@EE]] &;
Legended[Graphics3D[{color[Last[#]], AbsolutePointSize[20],
Point[Most[#]]} & /@ data, Axes -> True, ImageSize -> Large,
PlotRange -> {{-200, 200}, {-200, 200}, {-200, 200}}],
BarLegend[{color, MinMax@EE}, LegendMarkerSize -> {22, 400}]]

Edit 2
Here is another way to visualize it. see this for parula color.
data = Transpose[Flatten /@ {xei, yei, zei, EE}];

{col, row} = ImageDimensions@parula;
ParulaMMA =
Module[{colorlist},
colorlist =
Catenate@
ImageData@ImageTake[parula, {Round[row/2], Round[row/2]}, All];
Evaluate[Blend[RGBColor @@@ colorlist, Rescale[#, MinMax@EE]] &]];
Legended[Graphics3D[{ParulaMMA[Last[#]], Sphere[Most[#], 20]} & /@
data, Axes -> True, ImageSize -> Large,
PlotRange -> {{-200, 200}, {-200, 200}, {-200, 200}}],
BarLegend[{ParulaMMA, MinMax@EE}, LegendMarkerSize -> {22, 400}]]

Original Answer
This is the closest I can get.
data = Transpose[Flatten /@ {xei, yei, zei, EE}];
ListPointPlot3D[List /@ Most /@ data,
PlotStyle -> ({AbsolutePointSize[22],
Blend["BlueGreenYellow", Rescale[#, MinMax@EE]]} & /@
Last /@ data), BoxRatios -> {1, 1, 1}]

ListPlot3D[Transpose[{xei, yei, zei}]]
. $\endgroup$xei
, yei,
zei`? Example data is always welcome. $\endgroup$ListSurfacePlot3D
(along withFlatten
as in Anton Antonov's answer). $\endgroup$