Java读取Excel转换成JSON字符串进而转换成Java对象

Jar包

 Excel数据

Java代码

复制代码
package ExcelToJSON;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import java.io.File;

public class Excel {
    public static void main(String[] args) {
        Sheet sheet;
        Workbook book;
        Cell cell1, cell2, cell3, cell4, cell5,cell6,cell7,cell8;
        JSONArray array = new JSONArray();
        try {
            //为要读取的excel文件名
            book = Workbook.getWorkbook(new File("F://a.xls"));

            //获得第一个工作表对象(ecxel中sheet的编号从0开始,0,1,2,3,....)
            sheet = book.getSheet(0);

            for (int i = 1; i < sheet.getRows(); i++) {
                //获取每一行的单元格
                cell1 = sheet.getCell(0, i);//(列,行)
                cell2 = sheet.getCell(1, i);
                cell3 = sheet.getCell(2, i);
                cell4 = sheet.getCell(3, i);
                cell5 = sheet.getCell(4, i);
                cell5 = sheet.getCell(5, i);
                cell5 = sheet.getCell(6, i);
                cell5 = sheet.getCell(7, i);
                if ("".equals(cell1.getContents())) {//如果读取的数据为空
                    break;
                }
                JSONObject object = new JSONObject();
                object.put("题干",cell1.getContents());
                object.put("类型",cell2.getContents());
                object.put("A选项",cell3.getContents());
                object.put("B选项",cell4.getContents());
                object.put("C选项",cell5.getContents());
                object.put("D选项",cell5.getContents());
                object.put("答案",cell5.getContents());
                object.put("解析",cell5.getContents());
                array.add(object);
            }
            System.out.println(array.toString());
            book.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
复制代码

 

[{"题干":"1题题干","类型":"选择","A选项":"低电压配电柜","B选项":"自产","C选项":"低电压配电柜","D选项":"低电压配电柜","答案":"低电压配电柜","解析":"低电压配电柜"},{"题干":"2题题干","类型":"选择","A选项":"低电压配电柜","B选项":"自产","C选项":"低电压配电柜","D选项":"低电压配电柜","答案":"低电压配电柜","解析":"低电压配电柜"},{"题干":"3题题干","类型":"选择","A选项":"低电压配电柜","B选项":"外购","C选项":"低电压配电柜","D选项":"低电压配电柜","答案":"低电压配电柜","解析":"低电压配电柜"}]

 

posted @   QiaoZhi  阅读(5930)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示