freemarker导出excel使用office打不开的解决办法(查看excel错误日志,修改对应错误)

我是使用wps创建excel后另存为xml格式,再将xml后缀改为ftl
导出功能做好后发现使用wps打开excel没问题,但是office打开报错,
查看excel错误日志之后就知道问题出在哪了(打开excel报错后会提示错误日志路径,你直接按路径去找是找不到的,直接C盘搜索日志名字就好)

ss:ExpandedRowCount=“1” 这个是行数,行数小于实际行数会报错,要么写尽量大,
如:ss:ExpandedRowCount=“9999”
要么就写成动态的,
比如:ss:ExpandedRowCount="${dataList?size + 10}"
dataList为数据集合

我还出现另一个是数据类型的错误:
序号
这是数据类型不一致导致的,将Number改为String即可解决

此外,如果ftl模板做好了,发现某一列宽度不够,怎么办?改这里:

index是第几列,更改ss:Width值就可以

设置自动换行:ss:WrapText=“1”
设置自适应行高:ss:AutoFitHeight=“1”
示例代码:

<Style ss:ID="s51">
	<Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
</Style>
<Row ss:AutoFitHeight="1">
	<Cell ss:StyleID="s51">
		<Data ss:Type="String">${items.content}</Data>
	</Cell>
</Row>

至于ss:AutoFitWidth,研究了半天还是没有效果,要是各位前辈指导用法的话,还请告诉一下,谢谢了啊

PS:这篇博客写的很详细freemarker导出excel时office报错而wps不会

你可能感兴趣的:(IO)