Debe leer los datos de Excel y convertirlos en datos JSON. Ha escrito una función de prueba y la conversión es normal:
Conversión de JSON: org.json.jar
Clase de prueba: importfile.java:
paquete com.siemens.util; import java.util.arrayList; import java.util.list; importar org.json.jsonexception; importar org.json.jsonObject; importar org.apache.poi.ss.usermodel.row; importar org.apache.poi.ss.usermodel.sheet; importar org.apache.poi.ss.usermodel.workbook; // Importar com.siemens.entity.master; // Importar com.siemens.service.Masterservice; // Importar com.siemens.serviceImpl.MasterServiceImpl; // Importar com.siemens.serviceImpl.WebServiceImpl; Public Class ImportFile {public static void main (string [] args) lanza JSonexception {// maestro maestro = new Master (); // ApplicationContext AC = New ClassPathXMLApPlicationContext ("ApplicationContext.xml"); // Masterservice MS = (MasterService) ac.getBean ("MasterService"); Libro de trabajo wb = nulo; Hoja = nulo; Fila fila = nulo; String CellData = NULL; // ruta de archivo, cadena filePath = "f: /haoxy/worktable222.xls"; wb = ExcelBean.ReadExcel (FilePath); if (wb! = null) {// use para almacenar datos en la lista de tabla <JsonObject> listMap = new ArrayList <JsonObject> (); // Obtener la primera hoja = wb.getSheetat (0); // Obtener el número máximo de filas int rownum = sheet.getPhySicalNumberOfRows (); // Obtener la primera fila de fila = sheet.getrow (0); // Obtenga el número máximo de columnas int colnum = row.getPhySicalNumberOfCells (); // Crear objeto JSON aquí. Si usa MAP en la medición real, habrá problemas con los datos JSON JSONObject JSONMAP = new JsonObject (); // bucle fila para (int i = 1; i <Rownum; i ++) {row = sheet.getrow (i); if (Row! = Null) {// Crear objeto de lista para recibir Lista de datos de Excel <String> list = new ArrayList <String> (); // columna de bucle para (int! = Null) {// Crear objeto de lista para recibir la lista de datos de Excel <string> list = new ArrayList <String> (); // columna de bucle para (int! = Null) {// Crear objeto de lista para recibir la lista de datos de Excel <string> list = new ArrayList <String> (); // columna de bucle para (int! = Null) {// Crear objeto de lista para recibir la lista de datos de Excel <string> list = new ArrayList <String> (); // columna de bucle para (int) j = 0; j <colnum; j ++) {cellData = (string) ExcelBean.getCellFormAtValue (Row.getCell (j)); list.add (CellData); } //System.out.println(list.get(59)); // El siguiente es el formato de los datos de acuerdo con los requisitos. La creación de un objeto JSON informará una excepción y lo capturará. JsonObject jsonObject2 = new JsonObject (); jsonObject2.put ("skvdorcode", list.get (0)); jsonObject2.put ("Descripción", list.get (1)); jsonObject2.put ("disciplina", list.get (2)); jsonObject2.put ("PrefabricatedSkids", list.get (3)); jsonObject2.put ("onrack", list.get (4)); jsonObject2.put ("Offrack", list.get (5)); jsonObject2.put ("Yard", list.get (6)); jsonObject2.put ("hsrg", list.get (7)); JsonObject jsonpPtData = new JsonObject (); JSONPPTDATA.PUT ("SC ff", list.get (8)); jsonpptdata.put ("cc ss ct", list.get (9)); JSONPPTDATA.PUT ("CC SS OCC", list.get (10)); JSONPPTDATA.PUT ("CC SS ACC", list.get (11)); JSONPPTDATA.PUT ("CC MS CT", list.get (12)); JSONPPTDATA.PUT ("CC MS OCC", list.get (13)); JSONPPTDATA.PUT ("CC MS ACC", list.get (14)); // Turnkey jsonObject jSonTurnkey = new JsonObject (); JSonTurnKey.put ("PlantDesign", list.get (26)); JSonTurnKey.put ("BasicDesign", list.get (27)); JSonTurnKey.put ("DetellDesign", list.get (28)); jSonTurnkey.put ("proveedor", list.get (29)); jSonTurnKey.put ("errector", list.get (30)); JSonTurnKey.put ("comisionando", list.get (31)); JSonTurnKey.put ("Blackbox", list.get (32)); jSonTurnKey.put ("OppectionScope", list.get (33)); jsonTurnkey.put ("observación", list.get (34)); JSonTurnKey.put ("InternalRemark", list.get (35)); JSonTurnKey.put ("revisión", list.get (36)); // powerCore jsonObject jsonPowerCore = new JsonObject (); jsonPowerCore.put ("plantDesign", list.get (37)); jsonPowerCore.put ("BasicDesign", list.get (38)); jsonPowerCore.put ("DetellDesign", list.get (39)); jsonPowerCore.put ("proveedor", list.get (40)); JSONPowerCore.put ("Errection", list.get (41)); jsonPowerCore.put ("comisionando", list.get (42)); jsonPowerCore.put ("Blackbox", list.get (43)); jsonPowerCore.put ("OppectionScope", list.get (44)); jsonPowerCore.put ("observación", list.get (45)); jsonPowerCore.put ("internerRemark", list.get (46)); jsonPowerCore.put ("revisión", list.get (47)); // powerisland jsonObject jsonPowerIsland = new JsonObject (); jsonPowerIsland.put ("PlantDesign", list.get (48)); jsonPowerisland.put ("BasicDesign", list.get (49)); jsonPowerisland.put ("DetellDesign", list.get (50)); jsonPowerIsland.put ("proveedor", list.get (51)); jsonPowerIsland.put ("Errection", list.get (52)); jsonPowerisland.put ("comisionando", list.get (53)); jsonPowerisland.put ("Blackbox", list.get (54)); jsonPowerIsland.put ("OppectionScope", list.get (55)); jsonPowerIsland.put ("observación", list.get (56)); jsonPowerisland.put ("internerRemark", list.get (57)); jsonPowerIsland.put ("revisión", list.get (58)); // Crear objeto JSONBMT y anidar aún más los objetos anteriores jsonObject jsonbmt = new jsonObject (); jsonbmt.put ("Turnkey", JSonTurnkey); jsonbmt.put ("PowerCore", JSONPowerCore); JSONBMT.PUT ("Powerisland", JsonPowerisland); // Nesta los anteriores varios en el objeto de primera capa JsonObject2.put ("PowerplantTypes", JSONPPTDATA); jsonObject2.put ("BusinessMixtypes", JSONBMT); jsonObject2.put ("Treedepth", Integer.ParseInt (list.get (59) .substring (0, list.get (59) .indexof ('.')))); if (Integer.ParseInt (list.get (59) .substring (0, list.get (59) .indexof ('.'))) <= 2) {list <string> list3 = new ArrayList <String> (); list3.Add ("no vacío-placeholder"); jsonObject2.put ("niños", list3); } listMap.Add (jsonObject2); } else {break; }} // finalizar para fila // agregue una tecla-GridData jsonmap.put ("GridData", ListMap); System.out.println (JSONMAP); }}}Lectura de la clase de herramientas de Excel, consulte el método de lectura de los internautas como se cita:
Excelbean.java:
paquete com.siemens.util; import java.io.fileInputStream; import java.io.filenotfoundException; import java.io.ioException; import java.io.inputstream; importar org.apache.poi.hssf.usermodel.hssfworkbook; importar org.apache.poi.ss.usermodel.cell; importar org.apache.poi.ss.usermodel.dateutil; importar org.apache.poi.ss.usermodel.workbook; importar org.apache.poi.xssf.usermodel.xssfworkbook; clase pública ExcelBean {// Leer Excel Public Static Workbook ReadExcel (String FilePath) {Workbook wb = null; if (filePath == null) {return null; } String extstring = filePath.substring (filePath.lastIndexOf (".")); InputStream es = nulo; prueba {IS = nuevo FileInputStream (FilePath); if (". xls" .equals (extString)) {return wb = new hssfworkbook (is); } else if (". xlsx" .equals (extString)) {return wb = new XSSFWorkBook (is); } else {return wb = null; }} Catch (FileNotFoundException e) {E.PrintStackTrace (); } catch (ioException e) {E.PrintStackTrace (); } return wb; } objeto estático público getCellFormatValue (celular) {object CellValue = null; if (cell! = null) {// juzga el interruptor de tipo de celda (cell.getCellType ()) {case cell.cell_type_numeric: {cellValue = string.valueOf (celle.getNumericCellValue ()); romper; } case cell.cell_type_formula: {// juzga si la celda está en el formato de fecha if (dateUtil.iscellDateFormatted (celular)) {// Convertir hasta la fecha en formato yyyyy-mm-dd cellValue = cell.getDateCellValue (); } else {// número cellvalue = cell.getDateCellValue (); } else {// número cellvalue = string.ValueOf (cell.getNumericCellValue ()); } romper; } case cell.cell_type_string: {cellValue = cell.getrichstringcellValue (). getString (); romper; } predeterminado: cellValue = ""; }} else {cellValue = ""; } return cellValue; }}Resumir
Lo anterior es el Java Reading Excel archivos en formato JSON introducido por el editor. Espero que sea útil para todos. Si tiene alguna pregunta, déjame un mensaje y el editor responderá a todos a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!