1.java中有jxi包和 poi包 可以操作Excel表格,但是jxi包的功能似乎不如poi强大,比如jxi包不支持Excel 2007的.xlsx的操作。
2.pinyin4j.jar 可以把汉字转换成拼音字符串,功能强大,可以自己设置转换Format。
需求情况:
今天公司有一张含有需要导入到数据库字段信息的excle表格,表里有“商家名” 字段,然后需要把其汉语拼音转入其属性 pinyin 里。
做法:
先把拼音转换的功能封装到类里的一个函数中,,将excel表中提取行中的“商品名”单元格中的字符串,然后用jxi中的处理函数中调用拼音转换函数把其转换成拼音,然后自定义格式,将其按 “行号 商品名 拼音”的格式存入txt文件中。然后用mysql的Navicat Permium 客户端把 txt文件导入到指定的表中。
也可以直接把Excel表格中的数据导入到数据库,这样不需使用txt文件做中间存储了。但是刚开始的时候没有弄清jxi中的修改excel表的API。
感悟:
java中好多包,好多API,功能强大,可是对于一个使用者来说,不知其底层原理,一定有使用不正确的地方。到底咋么样才能快速的掌握他们呢?从一个使用者的角度来说,只要能根据规则正确使用吧。最终还是要回到 数据结构 + 算法 上来, 因为我们编的是程序。结构决定智能,决定操作,决定上层的一切东西,所有的操作适合它才能有好的效率。Excel表的组成结构如是:
Excel文件 -> workbook(工作薄 1)-> sheet(表单 n)->cell(单元格 n);单元格是用(列,行)进行索引。