Excel转Json
来源:互联网 发布:ux是什么软件 编辑:程序博客网 时间:2024/05/29 18:07
1、任务需求
转换前
转换后
2、关键逻辑代码
a、获取excel内容
//要读取的excel文件 book = Workbook.getWorkbook(new File(frontFile)); //获得第一个工作表对象(ecxel中sheet的编号从0开始,0,1,2,3,....) sheet = book.getSheet(0); int position = 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); JSONObject object = new JSONObject(); String kpPid = "0"; if(!"".equals(cell1.getContents())){ kpPid = "0"; }else if(i>1){ cell6 = sheet.getCell(3, i-1); cell7= sheet.getCell(4, i-1); String kpCode1 = null; if(cell7.getContents().length()==3){ kpCode1 = "00"+cell7.getContents(); }else if(cell7.getContents().length()==4){ kpCode1 = "0"+cell7.getContents(); }else if(cell7.getContents().length()==5){ kpCode1 = cell7.getContents(); } kpPid = cell6.getContents()+""+kpCode1; } object.put("kpPid",kpPid); if(!"".equals(cell1.getContents())){ object.put("kpName",cell1.getContents()); }else if(!"".equals(cell2.getContents())){ object.put("kpName",cell2.getContents()); }else if(!"".equals(cell3.getContents())){ object.put("kpName",cell3.getContents()); } object.put("kpSetId",cell4.getContents()); object.put("kpCode",cell5.getContents()); String kpCode = null; if(cell5.getContents().length()==3){ kpCode = "00"+cell5.getContents(); }else if(cell5.getContents().length()==4){ kpCode = "0"+cell5.getContents(); }else if(cell5.getContents().length()==5){ kpCode = cell5.getContents(); } object.put("kpId", cell4.getContents() +""+ kpCode); if (!"".equals(cell1.getContents())) { position++; } object.put("position",position); String s = cell5.getContents(); object.put("xkId",s.subSequence(0, 1)); array.add(object); }
b、输出格式换
String jsonStr = array.toString(); int level = 0; StringBuffer jsonForMatStr = new StringBuffer(); for(int i=0;i<jsonStr.length();i++){ char c = jsonStr.charAt(i); if(level>0&&'\n'==jsonForMatStr.charAt(jsonForMatStr.length()-1)){ jsonForMatStr.append(getLevelStr(level)); } switch (c) { case '{': case '[': jsonForMatStr.append(c+"\n"); level++; break; case ',': jsonForMatStr.append(c+"\n"); break; case '}': case ']': jsonForMatStr.append("\n"); level--; jsonForMatStr.append(getLevelStr(level)); jsonForMatStr.append(c); break; default: jsonForMatStr.append(c); break; } } System.out.println(jsonForMatStr.toString()); FileWriter writer; writer = new FileWriter(backFile); writer.write(jsonForMatStr.toString()); writer.flush(); writer.close(); book.close(); } catch (Exception e) { e.printStackTrace(); }}private static String getLevelStr(int level){ StringBuffer levelStr = new StringBuffer(); for(int levelI = 0;levelI<level ; levelI++){ levelStr.append("\t"); } return levelStr.toString(); }}
3、界面设计及代码
代码
// 选择要转换文件按钮的单击事件 protected void do_entryButton_actionPerformed(ActionEvent arg0) { java.awt.FileDialog fd = new FileDialog(this); fd.setVisible(true); String filePath = fd.getDirectory() + fd.getFile(); if (!filePath.equals("") && !(filePath == null)) { entryTextField.setText(filePath); } } // 选择转换后文件的保存地址按钮的单击事件 protected void do_saveButton_actionPerformed(ActionEvent arg0) { FileDialog saveDialog = new FileDialog(this, "保存文件对话框", FileDialog.SAVE); saveDialog.setVisible(true); String filePath = saveDialog.getDirectory() + saveDialog.getFile(); if (!filePath.equals("") && !(filePath == null)) { saveTextField.setText(filePath); } } // 确定加密按钮单击事件 protected void do_confirmButton_actionPerformed(ActionEvent arg0) {Excel2Json_logic Excel2Json = new Excel2Json_logic(); //创建转换json的类对象Excel2Json.excel2json(entryTextField.getText(), saveTextField.getText()); //调用对文件进行转换json的方法 JOptionPane.showMessageDialog(getContentPane(), "Excel2Json成功!", "信息提示框", JOptionPane.WARNING_MESSAGE); // 为用户提供提示信息对话框}
阅读全文
1 0
- js json转excel
- Excel转JSON
- json转Excel
- Excel转Json
- json转excel js
- Excel2JSON Excel转JSON Excel另存为JSON的技巧
- java之excel 转 json
- python实现Excel转json
- c# excel表格转Json
- JSON转EXCEL代码( java)
- Excel(xls)转json工具
- phpexcel将json转excel
- json文件和excel文件转lua
- 项目整理三.excel文件转json
- 【步兵 工具篇】 Excel 转 json
- Json字符串转excel表格文件
- 优化 json数据转Excel下载
- Kettle Excel To JSON
- python控制流(4)
- php文件上传
- 第三章:3.0 本章内容介绍
- 移动端页面css记录
- Android多渠道打包
- Excel转Json
- C# binding
- java面试题:如何求二叉树中节点的最大距离+层序遍历
- ActionBar重复设置引起错误
- FZU 1686 神龙的难题 重复覆盖问题
- 【Java&Android】名企面试题和涉及知识点整理
- CoordinatorLayout 实际应用效果
- 贝叶斯推断 3. 离散随机变量的先验和建模
- Linux安装mysql并配置外网访问