/* 如果想使用此sax解析,需要下载对应的jar包 //这里使用jdk自带的sax解析包
里面有很多注释都是没有修改的,源码分析:如果用过sax解析xml的技术员大概就能理解了,主要是继承了sax的DefaultHandler方法,重写了一些方法(startElement,endElement)而已,然后对其中xml进行了筛选获取,想要获取其他的元素,我们只要看看excel存储的xml格式就可以利用原理简单获取了。
讲到这里,其他很多类似文章都结束了,但是为了我们能全面的解析excel文件,我们继续对其做一些研究。既然excel保存为了xml格式的,理论上所有的信息我们都可以解析出来,举一个简单的例子。我们想要获取sheet的名称该怎么获取,我去看了sheet(索引).xml中,并没有sheet的名字,但是却在workshoop.xml中看到了sheet的名称,而且还对应的有sheetId。如图所示:
这个时候我们只需要把workbook.xml的文件流解析一下就可以了,我们试着加入以下代码:
然后在startElement中加入下面代码就可以打印出所有的sheet名称了。
然后可以把sheet的id和name信息用map保存起来,想什么时候用就什么时候取就是了。我们甚至可以利用这个功能解析excel的公式,样式,主题等一系列信息。
我们也可以现有的功能进行扩展,例如传入sheet名称和excel路劲解析对应的sheet功能;传入excel路径和一个sheet名称数组,解析制定的多张sheet表;有了这些思路我们都可以做。
因为最近项目组需要,所以简单的对这个POI解析excel文件进行了研究,本人技术尚浅,难免有纰漏之处,还请见谅。这些都是手敲的,代码都是经过自己测试了的,希望能对有这方面需求的同仁有所帮助。如果各位觉得有什么不对的或者是有什么指教的,请留言,谢谢!
做项目的时候,涉及到把一个团体的用户头像合并成团体照片,在网上找了一些图片合成的例子,觉得不太适合,后来自己重写了一个,可以实现自动排版,数量不够的话进行默认图片补充,
* @Description:图片拼接 (注意:必须两张图片长宽一致哦) * 根据入参照片的个数自动组成一个缩略图,自动化布局 * 生成9人头像的合图上面的是工具类,下面是服务层代码