springboot处理xlsx或xls表格文件

//读取表格数据
XSSFWorkbook xssfWorkbook = new XSSFWorkbook(new FileInputStream("D:/数据收集规范表格.xlsx"));
XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0);
for (int i = 1; i <= xssfSheet.getLastRowNum(); i++) {
     XSSFRow xssfRow = xssfSheet.getRow(i);//获取每一行的数据
     int minCell = xssfRow.getFirstCellNum();
     int maxCell = xssfRow.getLastCellNum();
     
     String parent = String.valueOf((xssfRow.getCell(0)).getStringCellValue());//String类型获取数据
     
     xssfRow.getCell(5).setCellType(CellType.STRING);//先转换类型,否则报错
     Double.parseDouble(xssfRow.getCell(5).getStringCellValue())//double 类型获取数据
     
     Integer.valueOf((xssfRow.getCell(9)).getStringCellValue());int类型获取数据

   //  对于不好处理的数据,比如:
   //  [
   //      {url: 'nanhai/a.geojson'},
   //      {"type":"geojson","url":"/GeoVis/data/Competition/product07/01-金寨抽水蓄能联动区周边景点.geojson"},
   //      {"type":"geojson","layers":"icenter:颖上水域专题图-PNG-4326"}
   //  ]
   //  我的处理方法:
     String data = (xssfRow.getCell(12)).getStringCellValue();//获取数据
     data = "{data:"+data+"}";//拼接数据为json类型
     JSONObject panelJsonObject = new JSONObject(data);//解析
     JSONArray contents = panelJsonObject.getJSONArray("data");
     for(int k = 0;k<contents.length();k++){
 	   		JSONObject datas = contents.getJSONObject(k);
			AssociatedGeojson geojson = new AssociatedGeojson();
			//datas.has("url")?(String)datas.get("url"):""    
			//判断是否存在数据url,如果存在获取数据,不存在显示空
			geojson.setUrl(datas.has("url")?(String)datas.get("url"):"");
			geojson.setType(datas.has("type")?(String)datas.get("type"):"");
			geojson.setTypeLabel(datas.has("layers")?(String)datas.get("layers"):"");
			this.insertAssiciatedDao.save(geojson);
   	  }
 }
 
pom.xml文件可能使用的包:
   <dependency>
	    <groupId>org.apache.poi</groupId>
	    <artifactId>poi</artifactId>
	    <version>RELEASE</version>
	</dependency>
	<dependency>
	    <groupId>org.apache.poi</groupId>
	    <artifactId>poi-ooxml</artifactId>
	    <version>RELEASE</version>
	</dependency>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值