تحتاج إلى قراءة بيانات Excel وتحويلها إلى بيانات JSON. لقد كتبت وظيفة اختبار والتحويل طبيعي:
تحويل JSON: org.json.jar
فئة الاختبار: importfile.java:
حزمة com.siemens.util ؛ استيراد java.util.arraylist ؛ استيراد java.util.list ؛ استيراد org.json.jsonexception ؛ استيراد org.json.jsonobject ؛ استيراد org.apache.poi.ss.usermodel.row ؛ استيراد org.apache.poi.ss.usermodel.sheet ؛ استيراد org.apache.poi.ss.usermodel.workbook ؛ // import com.siemens.entity.master ؛ // import com.siemens.service.masterService ؛ // import com.siemens.ServiceImpl.MasterServiceImpl ؛ // import com.siemens.ServiceImpl.WebServiceImpl ؛ الفئة العامة ImportFile {public static void main (string [] args) يلقي JSonexception {// master masters = new master () ؛ // ApplicationContext ac = classpathxmlapplicationContext ("ApplicationContext.xml") ؛ // MasterService MS = (MasterService) AC.GetBean ("MasterService") ؛ المصنف WB = NULL ؛ ورقة ورقة = فارغة ؛ صف الصف = فارغ ؛ سلسلة cellData = فارغة ؛ // PIDE PATH ، String filepath = "f: /haoxy/worktable222.xls" ؛ wb = excelbean.readexcel (filepath) ؛ if (wb! = null) {// استخدم لتخزين البيانات في قائمة الجدول <JsonObject> listMap = new ArrayList <JsonObject> () ؛ // احصل على الورقة الأولى = wb.getsheetat (0) ؛ // احصل على الحد الأقصى لعدد الصفوف int rownum = sheet.getPhysicalNumberOfRows () ؛ // احصل على صف الصف الأول = sheet.getRow (0) ؛ // احصل على الحد الأقصى لعدد الأعمدة int colnum = row.getPhysicalNumberOfCells () ؛ // إنشاء كائن JSON هنا. إذا كنت تستخدم MAP في القياس الفعلي ، فستكون هناك مشاكل في بيانات JSON JSONOBJECT JSONMAP = New JSONOBJECT () ؛ // loop row for (int i = 1 ؛ i <rownum ؛ i ++) {row = sheet.getRow (i) ؛ if (row! = null) {// قم بإنشاء كائن القائمة لتلقي قائمة قراءة بيانات excel <string> list = new ArrayList <Tring> () ؛ // عمود حلقة لـ (int! = null) {// إنشاء كائن القائمة لتلقي قائمة بيانات excel القراءة <string> list = new ArrayList <String> () ؛ // عمود حلقة لـ (int! = null) {// إنشاء كائن القائمة لتلقي قائمة بيانات excel القراءة <string> list = new ArrayList <String> () ؛ // عمود حلقة لـ (int! = null) {// قم بإنشاء كائن القائمة لتلقي قائمة بيانات excel القراءة <string> list = new ArrayList <String> () ؛ // عمود حلقة لـ (int) j = 0 ؛ j <colnum ؛ j ++) {cellData = (string) excelbean.getCellFormatValue (row.getcell (j)) ؛ list.add (cellData) ؛ } //system.out.println(list.get(59)) ؛ // ما يلي هو تنسيق البيانات وفقًا للمتطلبات.-سيقوم إنشاء كائن JSON بالإبلاغ عن استثناء ، والتقاطه. jsonobject jsonobject2 = new jsonobject () ؛ jsonobject2put ("skvdorcode" ، list.get (0)) ؛ jsonobject2put ("الوصف" ، list.get (1)) ؛ jsonobject2put ("الانضباط" ، list.get (2)) ؛ jsonobject2put ("premabrictedskids" ، list.get (3)) ؛ jsonobject2put ("onrack" ، list.get (4)) ؛ jsonobject2put ("Offrack" ، list.get (5)) ؛ jsonobject2put ("yard" ، list.get (6)) ؛ jsonobject2put ("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 ("التفاصيل" ، list.get (28)) ؛ jsonturnkey.put ("المورد" ، list.get (29)) ؛ jsonturnkey.put ("errection" ، list.get (30)) ؛ jsonturnkey.put ("التكليف" ، list.get (31)) ؛ jsonturnkey.put ("Blackbox" ، list.get (32)) ؛ jsonturnkey.put ("OptionalsCope" ، list.get (33)) ؛ jsonturnkey.put ("ملاحظة" ، list.get (34)) ؛ jsonturnkey.put ("internalRemark" ، list.get (35)) ؛ jsonturnkey.put ("المراجعة" ، list.get (36)) ؛ // powercore jsonobject jsonpowercore = new JSonObject () ؛ jsonpowercore.put ("PlantDesign" ، list.get (37)) ؛ jsonpowercore.put ("basicdesign" ، list.get (38)) ؛ jsonpowercore.put ("التفاصيل" ، list.get (39)) ؛ jsonpowercore.put ("المورد" ، list.get (40)) ؛ jsonpowercore.put ("errection" ، list.get (41)) ؛ jsonpowercore.put ("commissioning" ، list.get (42)) ؛ jsonpowercore.put ("Blackbox" ، list.get (43)) ؛ jsonpowercore.put ("OptionalScope" ، list.get (44)) ؛ jsonpowercore.put ("ملاحظة" ، list.get (45)) ؛ jsonpowercore.put ("internalRemark" ، list.get (46)) ؛ jsonpowercore.put ("Revision" ، list.get (47)) ؛ // powerisland jsonobject jsonpowerisland = new jsonobject () ؛ jsonpowerisland.put ("PlantDesign" ، list.get (48)) ؛ jsonpowerisland.put ("basicdesign" ، list.get (49)) ؛ jsonpowerisland.put ("التفاصيل" ، list.get (50)) ؛ jsonpowerisland.put ("المورد" ، list.get (51)) ؛ jsonpowerisland.put ("errection" ، list.get (52)) ؛ jsonpowerisland.put ("commissioning" ، list.get (53)) ؛ jsonpowerisland.put ("Blackbox" ، list.get (54)) ؛ jsonpowerisland.put ("OptionalsCope" ، list.get (55)) ؛ jsonpowerisland.put ("ملاحظة" ، list.get (56)) ؛ jsonpowerisland.put ("internalRemark" ، list.get (57)) ؛ jsonpowerisland.put ("Revision" ، list.get (58)) ؛ // إنشاء كائن JSONBMT وأزيد من الكائنات المذكورة أعلاه JSONOBJECT JSONBMT = New JSONOBJECT () ؛ jsonbmt.put ("turnkey" ، jsonturnkey) ؛ jsonbmt.put ("powercore" ، jsonpowerCore) ؛ jsonbmt.put ("powerisland" ، jsonpowerisland) ؛ // nest ما سبق عدة في كائن الطبقة الأولى jsonobject2.put ("powerplanttypes" ، jsonpptdata) ؛ JSonObject2put ("BusinessMixTypes" ، JSONBMT) ؛ jsonobject2put ("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 ("غير الفارق في placeholder") ؛ jsonobject2.put ("الأطفال" ، list3) ؛ } listmap.add (jsonobject2) ؛ } آخر {break ؛ }} // end for row // إضافة مفتاح griddata jsonmap.put ("Griddata" ، listMap) ؛ system.out.println (jsonmap) ؛ }}}قراءة فئة أدوات Excel ، راجع طريقة قراءة مستخدمي الإنترنت كما هو موضح:
excelbean.java:
حزمة com.siemens.util ؛ استيراد java.io.fileInputStream ؛ استيراد java.io.filenotfoundException ؛ استيراد java.io.ioException ؛ استيراد java.io.inputstream ؛ استيراد org.apache.poi.hssf.usermodel.hssfworkbook ؛ استيراد org.apache.poi.ss.usermodel.cell ؛ استيراد org.apache.poi.ss.usermodel.dateutil ؛ استيراد org.apache.poi.ss.usermodel.workbook ؛ استيراد org.apache.poi.xssf.usermodel.xsssfworkbook ؛ الفئة العامة excelbean {// اقرأ Excel Public Static Workbook ReadExcel (String filepath) {Workbook wb = null ؛ if (filePath == null) {return null ؛ } extstring = filePath.subString (filePath.lastindexof (".")) ؛ inputStream هو = فارغ ؛ حاول {IS = جديد fileInputStream (filePath) ؛ إذا (". } آخر إذا (". } آخر {return wb = null ؛ }} catch (fileNotfoundException e) {e.printStackTrace () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ } إرجاع WB ؛ } الكائن الثابت العام getCellFormatValue (خلية الخلية) {Object cellvalue = null ؛ if (cell! = null) {// judge swite type type (cell.getCelltype ()) {case cell.cell_type_numeric: {cellvalue = string.valueof (cell.getNumericCellValue ()) ؛ استراحة؛ } case cell.cell_type_formula: {// judge ما إذا كانت الخلية في تنسيق التاريخ إذا (dateUtil.iscellDateFormatted (cell)) {// تحويل إلى تنسيق تاريخ yyy-mm-dd cellvalue = cell.getDateCellValue () ؛ } آخر {// number cellValue = cell.getDateCellValue () ؛ } آخر {// number cellValue = string.valueof (cell.getNumericCellValue ()) ؛ } استراحة؛ } case cell.cell_type_string: {cellValue = cell.getRichStringCellValue (). getString () ؛ استراحة؛ } الافتراضي: cellValue = "" ؛ }} آخر {cellValue = "" ؛ } إرجاع CellValue ؛ }}لخص
ما ورد أعلاه هو Java Reading Files Excel في تنسيق JSON الذي قدمه المحرر. آمل أن يكون ذلك مفيدًا للجميع. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر على الجميع في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!