问题:
用ResponseEntity来导出Excel,Excel乱码,用FileOutputStream导出正常,ByteArrayOutputStream乱码
解决方案:
配置文件修改: //将读取二进制格式的数据和写出二进制数据 <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>
注意点:与MappingJackson2HttpMessageConverter 同时使用,配置了supportedMediaTypes,就要额外配置ByteArrayHttpMessageConverter。
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="prettyPrint" value="true"/> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <value>application/json;charset=UTF-8</value> </list> </property> <property name="objectMapper"> <bean class="com.fasterxml.jackson.databind.ObjectMapper"> <!-- 处理responseBody 里面日期类型 --> <property name="dateFormat"> <bean class="java.text.SimpleDateFormat"> <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss"/> </bean> </property> </bean> </property> </bean>