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選項":"低電壓配電櫃","答案":"低電壓配電櫃","解析":"低電壓配電櫃"}]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM