利用Java怎么将excel表格转换成json数据

  介绍

利用Java怎么将excel表格转换成json数据?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

实现方法如下:

包org.duang.test;
  
  进口java.io.File;
  进口java.util.ArrayList;
  进口java.util.HashMap;
  进口并不知道;
  进口java.util.Map;
  
  进口net.sf.json.JSONArray;
  
  进口org.apache.poi.ss.usermodel.Cell;
  进口org.apache.poi.ss.usermodel.DateUtil;
  进口org.apache.poi.ss.usermodel.FormulaEvaluator;
  进口org.apache.poi.ss.usermodel.Row;
  进口org.apache.poi.ss.usermodel.Sheet;
  进口org.apache.poi.ss.usermodel.Workbook;
  进口org.apache.poi.ss.usermodel.WorkbookFactory;/* *
  * excel表格转成json
  * @ClassName: Excel2JSONHelper
  * @Description:待办事项(这里用一句话描述这个类的作用)
  * @author LiYonghui
  * @date 2017年1月6日下午4:42:43
  */公开课Excel2JSONHelper {//常亮,用作第一种模板类型,如下图
  私有静态最终int HEADER_VALUE_TYPE_Z=1;//第二种模板类型,如下图
  私有静态最终int HEADER_VALUE_TYPE_S=2;
  公共静态void main (String [] args) {
  文件dir=新文件(“e: \ \ 2003. xls");
  Excel2JSONHelper excelHelper=getExcel2JSONHelper ();//dir文件,0代表是第一行为保存到数据库或者实体类的表头,一般为英文的字符串,2代表是第二种模板,
  JSONArray JSONArray=excelHelper。readExcle (dir 0 2);
  System.out.println (jsonArray.toString ());;
  }/* *
  *
  *获取一个实例
  */私有静态Excel2JSONHelper getExcel2JSONHelper () {
  返回新Excel2JSONHelper ();
  }/* *
  *文件过滤
  * @Title: fileNameFileter
  * @Description:待办事项(这里用一句话描述这个方法的作用)
  * @param:
  * @author LiYonghui
  * @date 2017年1月6日下午4:45:42
  * @return:空白
  * @throws
  */私人布尔fileNameFileter(文件文件){
  布尔endsWith=false;
  如果(文件!=null) {
  字符串文件名=file.getName ();
  endsWith=fileName.endsWith (“.xls") | | fileName.endsWith (“.xlsx");
  }
  返回endsWith;
  }/* *
  *获取表头行
  * @Title: getHeaderRow
  * @Description:待办事项(这里用一句话描述这个方法的作用)
  * @param: @param表
  * @param: @param指数
  * @param: @return
  * @author LiYonghui
  * @date 2017年1月6日下午5:05:24
  * @return:行
  * @throws
  */私人行getHeaderRow(单表,int指数){
  行headerRow=零;
  如果(表!=null) {
  headerRow=sheet.getRow(指数);
  }
  返回headerRow;
  }/* *
  *获取表格中单元格的值
  * @Title: getCellValue
  * @Description:待办事项(这里用一句话描述这个方法的作用)
  * @param: @param行
  * @param: @param cellIndex
  * @param: @param公式
  * @param: @return
  * @author LiYonghui
  * @date 2017年1月6日下午5:40:28
  * @return:对象
  * @throws
  */私有对象getCellValue(一行一行,int cellIndex FormulaEvaluator公式){
  细胞细胞=row.getCell (cellIndex);
  如果(细胞!=null) {
  开关(cell.getCellType ()) {//字符串类型
  案例Cell.CELL_TYPE_STRING:
  .getString返回cell.getRichStringCellValue () ();//数字类型
  案例Cell.CELL_TYPE_NUMERIC:
  如果(DateUtil.isCellDateFormatted(细胞)){
  .getTime返回cell.getDateCellValue () ();
  其他}{
  返回cell.getNumericCellValue ();
  }//布尔类型
  案例Cell.CELL_TYPE_BOOLEAN:
  返回cell.getBooleanCellValue ();//公式
  案例Cell.CELL_TYPE_FORMULA:
  返回formula.evaluate(细胞).getNumberValue ();
  默认值:
  返回null;
  }
  }
  返回null;
  }/* *
  *获取表头的值
  * @Title: getHeaderCellValue
  * @Description:待办事项(这里用一句话描述这个方法的作用)
  * @param: @param headerRow
  * @param: @param cellIndex英文表头所在的行,从0开始计算哦
  * @param: @param类型表头的类型第一种姓名(名)英文于实体类或者数据库中的变量一致
  * @param: @return
  * @author LiYonghui
  * @date 2017年1月6日下午6:12:21
  * @return:字符串
  * @throws
  */私人字符串getHeaderCellValue (int, int cellIndex行headerRow类型){
  细胞细胞=headerRow.getCell (cellIndex);
  字符串headerValue=https://www.yisu.com/zixun/null;
  如果(细胞!=null) {//第一种模板类型
  如果(type==HEADER_VALUE_TYPE_Z) {
  .getString headerValue=cell.getRichStringCellValue () ();
  int l_bracket=headerValue.indexOf (“(”);
  int r_bracket=headerValue.indexOf (“)”);
  如果(l_bracket==1) {
  l_bracket=headerValue.indexOf (“(”);
  }
  如果(r_bracket==1) {
  r_bracket=headerValue.indexOf (“)”);
  }
  headerValue=headerValue。substring (l_bracket + 1, r_bracket);
  }else if (type==HEADER_VALUE_TYPE_S) {//第二种模板类型
  .getString headerValue=cell.getRichStringCellValue () ();
  }
  }
  返回headerValue;
  }/* *
  *读取excel表格
  * @Title: readExcle
  * @Description:待办事项(这里用一句话描述这个方法的作用)
  * @param: @param文件
  * @param: @param headerIndex
  * @param: @param具有表头的类型第一种姓名(名)英文于实体类或者数据库中的变量一致
  * @author LiYonghui
  * @date 2017年1月6日下午6:13:27
  * @return:空白
  * @throws
  */JSONArray公共readExcle(文件文件、int headerIndex int具有){
  

利用Java怎么将excel表格转换成json数据