三星手机怎么当usb(三星s21ultra怎样读取外接u盘)
三星手机怎么当usb,三星s21ultra怎样读取外接u盘? 三星S21u手机读取外接U盘的办法: 1、OTG线是即插即用的。首先通过OTG转接线将U盘和您的手机相连接。...
2023-04-20
之前介绍过通过POI实现数据的导出以及百万数据的导出,今天介绍一般数据以及大数据集的数据导入。之前介绍过POI操作Excel2007的三种模式:
用户模式:有许多分装好的方法操作简单事件模式:基于SAX方式解析XML,他是一个接口,是一种XML解析的替代方法,不同于DOM解析XML文档时把所有数据内容一次性加载到内存,他是逐行扫描SXSSF对象:生成海量Excel数据文件
主要步骤:根据上传信息创建Workbok根据Workbook创建Sheet读取Sheet行中数据
@ApiOperation(value="导入数据")@RequestMapping(value="/importpoi",method=RequestMethod.POST)@ResponseBodypublicCommonResultimportExcelPOI(@RequestParam(name="file")MultipartFileimportfile)throwsException{//根据上传信息创建workboolWorkbooksheets=WorkbookFactory.create(importfile.getInputStream());//创建一个sheetSheetsheet=sheets.getSheetAt(0);//从第二行获取数据List<MesAdmin>mesAdmins=newArrayList<>();//从第二行读取数据for(intrown=1;rown<sheet.getLastRowNum();rown++){Rowrow=sheet.getRow(rown);MesAdminmesAdmin=newMesAdmin();for(intcelln=0;celln<row.getLastCellNum();celln++){//此处为数据每行数据以及对每行数据进行操作}}returnCommonResult.success(ResultCode.SUCCESS);}POI在对Excel的XML解析以及做了一些封装,我们只有实现这些封才可以安装SAX方式进行读取Excel,主要就是要实现XSSFSheetXMLHandler.SheetContentsHandler接口,给接口有三个方式需要我们去实现:
方法作用public void startRow(int i)开始读取行public void endRow(int i)结束读取行public void cell(String s, String s1, XSSFComment xssfComment)读取行中单元
使用POI的SAX模式解析EXCEl文件
使用SAX模式,逐行扫描文件,一边扫描一遍解析。不需要将数据存储到内存,对于大型文档解析具有很大优势。
设置POI的时间模式
1.根据Excel获取文件流
2.根据文件流创建OPCPackage
3.创建XSSFReader对象
SAX解析
1.自定义Sheet处理器
2.创建Sax的XmlReader
3.设置Sheet事件处理器
4.逐行读取
Excel2007的本质就是一种特殊的XML存储数据,这样就可以使用基于SXA的方式去解析XML完成对Excel的读取。SAX提供一种从XML文档读取数据的机制,逐行扫描文档,一边扫描一边解析,解析原理如图:

packagecom.macro.mall.tiny.config;importorg.apache.poi.xssf.eventusermodel.XSSFSheetXMLHandler;importorg.apache.poi.xssf.usermodel.XSSFComment;importjava.util.ArrayList;importjava.util.List;//自定义Sheet给予Sax解析处理器publicclassMesSheetHandlerimplementsXSSFSheetXMLHandler.SheetContentsHandler{//行信息privateList<String>lRows=newArrayList<String>();//处理一行信息@OverridepublicvoidstartRow(inti){if(i>0){lRows.clear();}}/***解析行*@parami*/@OverridepublicvoidendRow(inti){//可以每行都对数据进行插入操作,也可以使用监听进行数据操作System.out.println("i:"+lRows.get(0));}/***逐单元读取数据*@params*@params1*@paramxssfComment*/@Overridepublicvoidcell(Strings,Strings1,XSSFCommentxssfComment){if(lRows!=null){lRows.add(s1);}else{lRows.add("");}}}@ApiOperation(value="批量导入用户数据")@RequestMapping(value="/importpoi",method=RequestMethod.POST)@ResponseBodypublicCommonResultimportExcelpoiSax(@RequestParam(name="file")MultipartFilemultipartFile,HttpServletRequestrequest)throwsException{//Stringfile="C:/Users/180454/Downloads/1.xlsx";//根据Eccel获取OPCPackage对象OPCPackagepkg=OPCPackage.open(multipartFile.getInputStream());//try{//创建XSSFReaderXSSFReaderxssfReader=newXSSFReader(pkg);//获取SharedStringTable对象SharedStringsTablesharedStringsTable=xssfReader.getSharedStringsTable();//获取StylesTable对象StylesTablestyles=xssfReader.getStylesTable();XMLReaderxmlReader=XMLReaderFactory.createXMLReader();MesSheetHandlermesSheetHandler=newMesSheetHandler();xmlReader.setContentHandler(newXSSFSheetXMLHandler(styles,sharedStringsTable,mesSheetHandler,false));XSSFReader.SheetIteratorsheets=(XSSFReader.SheetIterator)xssfReader.getSheetsData();//每一个Sheetwhile(sheets.hasNext()){InputStreamsheetstream=sheets.next();InputSourcesheetSource=newInputSource(sheetstream);try{xmlReader.parse(sheetSource);LOGGER.info("row:"+"结束");}finally{sheetstream.close();}}}finally{pkg.close();}returnCommonResult.success(ResultCode.SUCCESS);}通过简单地介绍Excel读取数据的两种模式,可以发现在用户模式下Excel读取实现简单但是内存占用量大,不理想,而事件模式操作比较繁琐,但是可以读取大文件的Excel。
以上内容就是为大家推荐的poi读取excel数据(poi读取excel数字类型)最佳回答,如果还想搜索其他问题,请收藏本网站或点击搜索更多问题
内容来源于网络仅供参考版权声明:所有来源标注为小樱知识网www.xiaoyin02.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可。
本文标题:poi读取excel数据(poi读取excel数字类型)
本文地址:https://www.xiaoyin02.com/shcs/97756.html
相关文章
三星手机怎么当usb,三星s21ultra怎样读取外接u盘? 三星S21u手机读取外接U盘的办法: 1、OTG线是即插即用的。首先通过OTG转接线将U盘和您的手机相连接。...
2023-04-20
手机 sd卡 怎么用,车载sd卡怎么用手机读取? 第一步,把SD卡从手机里取出来,插到读卡器里,用电脑修复,把读卡器插到电脑上,打开我的电脑,显示移...
2023-04-20
手机用u盘怎么用,剪映如何读取外接u盘文件? 答:剪映读取外接u盘文件的步骤如下。第一步把手机用USB数据线与电脑连接,找到手机U盘里的素材导入电脑。...
2023-04-19
苹果手机联系人怎么,苹果手机怎么读取sim卡联系人? 可以点击设置-通讯录-导入SIM卡通讯录,让我们的苹果手机读取手机卡上的联系人。具体操作如下:...
2023-04-18
手机怎么权限获取,读取手机设置权限怎么设置? 手机权限管理设置方法如下:打开手机主页的【设置】在【全部设置】中,找到【权限管理】 第一种方...
2023-04-17
热点文章
2021年独生子女补贴新政策是真的吗(独生子女证有有效期吗)
2021年国庆节阅兵仪式几点开始几点结束(2021年国庆节还有阅兵吗)
鼠目寸光一点红是什么生肖动物(鼠目寸光一点红)指什么生肖,紧密
k0到k9的玩法大全(强制gc的玩法和注意事项)
入土为安是什么生肖《入土为安》打一个生肖动物,词语解释
浙江12月底全面停工是真的吗(浙江什么时候放假停工)
如何做t(t怎么把p做哭)
北京口碑最差的三甲医院(北京301医院最擅长什么)