java程序以表格导入数据时的考虑
一、前端
1. 对选择导入的文件做最基本的文件格式判断,判断是否符合要求。
2. 点击导入,向后端请求前,页面给出友好提示“数据正在导入中,请等待。。。”等
二、后端
1. 虽然前端对文件格式已经做过判断,但是安全性考虑(防止通过url直接请求接口),因此代码中还要进行一次文件格式判断。
2. 对文件的大小进行判断,如果是空文件或者文件超出了最大限制(这里的限制包含两个方面【①文件本身大小,比如不能超过3M ② 文件内容的长度,比如不能超过1万条数据】),直接向前端返回错误提示。
3. 对文件进行解析(java常用XSSFWorkbook),解析包含,对文件字段的解析【导入的文件是否为模板要求的格式,例如,必填字段是否缺失,内容是否符合要求,某些行列该有的内容是否为空,丢失,文件中是否存在重复数据,哪些数据解析失败等等】。
4. 如果成功的解析完毕,则对文件进行一个批处理(针对文件数据较多的情况下,为了提高插入数据库的效率以及稳定),一般将文件中数据以500到1000条为分割,一次向数据库插入500条左右,不要一次性将所有数据都插入数据库。
5. 最后将插入过程中,插入失败的数据以及解析失败的数据返回给前端显示。