千家信息网

java如何实现将excel表格数据解析成JSONArray

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家分享的是有关java如何实现将excel表格数据解析成JSONArray的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。程序主体:/*json头模板*/publ
千家信息网最后更新 2026年11月03日java如何实现将excel表格数据解析成JSONArray

这篇文章给大家分享的是有关java如何实现将excel表格数据解析成JSONArray的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

程序主体:

  1. /*json头模板*/

  2. public static final int HEADER_VALUE_TYPE_O = 1;


  3. /*实例*/

  4. public static ExcelToJson getExcelToJson() {

  5. return new ExcelToJson();

  6. }


  7. /*读取excel*/

  8. public JSONArray readExcel(File file, int headerIndex, int headType) {

  9. List> lists = new ArrayList>();

  10. if (!fileNameFileter(file)) {

  11. return null;

  12. } else {

  13. try {

  14. WorkbookFactory factory = new WorkbookFactory();

  15. Workbook workbook = factory.create(file);

  16. Sheet sheet = workbook.getSheetAt(0);

  17. Row headerRow = getHeaderRow(sheet, headerIndex);

  18. FormulaEvaluator formulaEvaluator = workbook.getCreationHelper().createFormulaEvaluator();

  19. for (int r = headerIndex + 1; r < sheet.getLastRowNum() + 1; r++) {

  20. Row dataRow = sheet.getRow(r);

  21. Map map = new HashMap();

  22. for (int h = 0; h < dataRow.getLastCellNum(); h++) {

  23. String key = getHeaderCellValue(headerRow, h, headType);

  24. Object value = getCellValue(dataRow, h, formulaEvaluator);

  25. if (!key.equals("") && !key.equals("null") && key != null) {

  26. map.put(key, value);

  27. }

  28. }

  29. lists.add(map);


  30. }

  31. } catch (Exception e) {

  32. e.printStackTrace();

  33. }

  34. }

  35. JSONArray jsonArray = JSONArray.fromObject(lists);

  36. return jsonArray;

  37. }


  38. /*文件过滤,只有表格才可以处理*/

  39. public boolean fileNameFileter(File file) {

  40. boolean endsWith = false;

  41. if (file != null) {

  42. String fileName = file.getName();

  43. endsWith = fileName.endsWith(".xls") || fileName.endsWith(".xlsx");

  44. }

  45. return endsWith;

  46. }


  47. /*获取表的行*/

  48. public Row getHeaderRow(Sheet sheet, int index) {

  49. Row headerRow = null;

  50. if (sheet != null) {

  51. headerRow = sheet.getRow(index);

  52. }

  53. return headerRow;

  54. }


  55. /*获取表头的value*/

  56. public String getHeaderCellValue(Row headerRow, int cellIndex, int type) {

  57. Cell cell = headerRow.getCell(cellIndex);

  58. String headerValue = null;

  59. if (cell != null) {

  60. if (HEADER_VALUE_TYPE_O == type) {

  61. headerValue = cell.getRichStringCellValue().getString();

  62. }

  63. }

  64. return headerValue;

  65. }


  66. /*获取单元格的值*/

  67. public Object getCellValue(Row row, int cellIndex, FormulaEvaluator formulaEvaluator) {

  68. Cell cell = row.getCell(cellIndex);

  69. if (cell != null) {

  70. switch (cell.getCellType()) {

  71. //String

  72. case Cell.CELL_TYPE_STRING:

  73. return cell.getRichStringCellValue().getString();


  74. //Number

  75. case Cell.CELL_TYPE_NUMERIC:

  76. if (DateUtil.isCellDateFormatted(cell)) {

  77. return cell.getDateCellValue().getTime();

  78. } else {

  79. return cell.getNumericCellValue();

  80. }


  81. //boolean

  82. case Cell.CELL_TYPE_BOOLEAN:

  83. return cell.getBooleanCellValue();


  84. //公式

  85. case Cell.CELL_TYPE_FORMULA:

  86. return formulaEvaluator.evaluate(cell).getNumberValue();

  87. default:

  88. return null;

  89. }

  90. }

  91. return null;

  92. }

测试方法:


  1. /*测试入口*/

  2. public static void main(String[] args) {

  3. File file = new File("C:\\a.xls");

  4. ExcelToJson excelToJson = getExcelToJson();

  5. JSONArray jsonArray = excelToJson.readExcel(file, 0, 1);

  6. System.out.println(jsonArray.toString());

  7. }

依赖的jar包:




  1. org.apache.poi

  2. poi

  3. 3.15




  4. org.apache.poi

  5. poi-ooxml

  6. 3.15




  7. net.sourceforge.jexcelapi

  8. jxl

  9. 2.6.12

感谢各位的阅读!关于"java如何实现将excel表格数据解析成JSONArray"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

表格 数据 内容 更多 篇文章 测试 不错 实用 主体 入口 公式 单元 只有 实例 文件 文章 方法 模板 看吧 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 精品咖啡豆 什么是科技互联网 广州大一互联网络科技有限公司 互联网佳科技有限公司 江苏根荣互联网科技 美国互联网保险保险科技 关于新基建和互联网科技 互联网 科技公司 科技与互联网发展 互联网金融公司科技 上海挚品互联网科技 菲比寻常互联网科技 伴你行互联网科技有限公司 广州慧亚互联网科技怎么样 知域互联网科技有限公司大骗子 互联网与医疗科技 互联网金融科技公司的优势 中国互联网有什么科技 杭州融税互联网科技有限公司 科技互联网专业工作会议发言稿 A股互联网金融科技公司 鸠鸠互联网科技 国外互联网科技网站 广西拼得多互联网科技有限公司 现代互联网科技股 贵州叶脉互联网科技有限公司所属行业 互联网企业科技类企业如何做账 江苏苏星互联网科技有限公司 珠海东科互联网科技有限公司 武汉亿视互联网科技有限公司
0