Convert a flextable into a clintable object
Details
There is no coerce_character argument here, unlike clintable().
A flextable arrives with its cell text already rendered, so the numeric
formatting this argument exists to avoid has already happened and coercing
the source data is no longer an option. The nearest equivalent is
flextable::set_formatter(x, values = as.character) before calling
as_clintable(), which rewrites every body cell from the stored data.
That is not the same operation: it replaces cell content, so any
chunk level work already done on the body - flextable::compose(),
flextable::colformat_*(), images, hyperlinks, equations - is discarded,
and columns keep the right alignment flextable gave them for being numeric.
Because that trade cannot be made safely on the user's behalf, it is left
to the caller. To get the coercion without the trade, build with
clintable(x, coerce_character = TRUE) instead.
Examples
ft <- flextable::flextable(mtcars)
as_clintable(ft)
mpg
cyl
disp
hp
drat
wt
qsec
vs
am
gear
carb
21.0
6
160.0
110
3.90
2.620
16.46
0
1
4
4
21.0
6
160.0
110
3.90
2.875
17.02
0
1
4
4
22.8
4
108.0
93
3.85
2.320
18.61
1
1
4
1
21.4
6
258.0
110
3.08
3.215
19.44
1
0
3
1
18.7
8
360.0
175
3.15
3.440
17.02
0
0
3
2
18.1
6
225.0
105
2.76
3.460
20.22
1
0
3
1
14.3
8
360.0
245
3.21
3.570
15.84
0
0
3
4
24.4
4
146.7
62
3.69
3.190
20.00
1
0
4
2
22.8
4
140.8
95
3.92
3.150
22.90
1
0
4
2
19.2
6
167.6
123
3.92
3.440
18.30
1
0
4
4
17.8
6
167.6
123
3.92
3.440
18.90
1
0
4
4
16.4
8
275.8
180
3.07
4.070
17.40
0
0
3
3
17.3
8
275.8
180
3.07
3.730
17.60
0
0
3
3
15.2
8
275.8
180
3.07
3.780
18.00
0
0
3
3
10.4
8
472.0
205
2.93
5.250
17.98
0
0
3
4