java导出文件方式思路

做项目的时候常常遇到很多需要导出的功能,比如客户可能会要求word,excel,pdf包括各种文本文件的导出,做过一些项目后,我也积累了一点点经验,发表博客总结一下也是很不错的选择。

首先是开源组件的选择,对于excel,最好的莫过于apache的poi了,API简单实用,对于word和pdf,可以选择itext,API也不复杂,对于word要说明的是,doc文件由于格式不公开,所以我们通常选择rtf,想直接导出doc需要调用微软的本地接口,不能跨平台,所以被放弃,不过rtf文件偏大,如果数据量大的话,最好还是用excel,否则可能导个文件导得OutOfMemory,

jasperReport实际上是封装itext,个人还是比较喜欢直接用itext,也不复杂,用jasperReport有些格式反而不好控制。

大数据量的导出,要注意控制内存,否则很容易内存溢出,一般是分多次查数据库,一边查一边写到服务器的文件里,最后让客户端重定向到文件,是一种不错的方法,现在觉得,用管道来实现缓冲区的方法或许可行,不过我没有试过。

你可能感兴趣的:(java导出文件方式思路)