You can use the raster image produced by MatrixPlot
as Texture
directive if you construct Cylinder
using ParametricPlot3D
or ContourPlot3D
.
mplt = MatrixPlot[Table[Sin[x y/100], {x, -10, 10}, {y, -10, 10}],
ColorFunction -> "Rainbow", Frame -> False, ImagePadding -> 0,
PlotRangePadding -> 0]

ParametricPlot3D
ParametricPlot3D[{Cos[theta], Sin[theta], rho}, {theta, -Pi, Pi}, {rho, 0, 2},
PlotStyle -> Directive[Specularity[White, 30], Texture[mplt]],
TextureCoordinateFunction -> ({#1, #3} &), Lighting -> "Neutral",
Mesh -> None, PlotRange -> All, TextureCoordinateScaling -> True]

Update: To wrap the matrix plot around the cylinder
Change the setting for TextureCoordinateFunction
to
TextureCoordinateFunction -> ({#4, #5} &) (*Thanks: @Rahul *)

Or leave out the TextureCoordinate...
options out and use PlotStyle -> Texture[mplt]
(thanks: @DROP TABLE):
ParametricPlot3D[{Cos[theta], Sin[theta], rho}, {theta, -Pi, Pi}, {rho, 0, 2},
PlotStyle -> Texture[mplt], Lighting -> "Neutral", Mesh -> None,
PlotRange -> All, ImageSize -> 400]

ContourPlot3D
ContourPlot3D[x^2 + y^2 == 1, {x, -1, 1}, {y, -1, 1}, {z, -1, 1},
Mesh -> None, Lighting -> "Neutral",
ContourStyle -> Directive[Specularity[White, 30], Texture[mplt]],
TextureCoordinateFunction -> ({#1, #3} &)]

Related:
How to Texturize Disk/Circle/Rectangle
Heike's answer MathGroup: Texture on Disk in Mathematica 8
Wraping a Rectangle to Form a Cylinder
ColorFunction and ColorFunctionScaling Issue with ParametricPLot3D