Bläddra i källkod

新增jaon转excel

刘韬 2 år sedan
förälder
incheckning
bc6cc709ae

+ 19 - 3
DataFusion/.classpath

@@ -9,22 +9,38 @@
 		</attributes>
 	</classpathentry>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/annotations-13.0.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-codec-1.13.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-collections4-4.4.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-compress-1.19.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-csv-1.8.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-math3-3.6.1.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/cron4j-2.2.5.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/curvesapi-1.06.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/druid-1.1.21.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/easyexcel-3.2.1.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/easyexcel-core-3.2.1.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/easyexcel-support-3.2.1.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/ehcache-3.9.9.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/fastjson-1.2.62.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/javax.activation-1.2.0.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jaxb-api-2.3.0.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jaxb-core-2.3.0.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jaxb-impl-2.3.0.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jfinal-4.8-bin-with-src.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/kotlin-stdlib-1.3.50.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/kotlin-stdlib-common-1.3.50.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/log4j-1.2.17.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/mysql-connector-java-8.0.18.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/ojdbc6.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/okhttp-4.2.2.jar" sourcepath="/Users/liutao/.m2/repository/com/squareup/okhttp3/okhttp/4.2.2/okhttp-4.2.2-sources.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/okhttp-4.2.2.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/okio-2.2.2.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/sqljdbc42.jar"/>
-	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jfinal-4.8-bin-with-src.jar"/>
 	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/pinyin4j-2.5.0.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/poi-4.1.2.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/poi-ooxml-4.1.2.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/poi-ooxml-schemas-4.1.2.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/slf4j-api-1.7.32.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/SparseBitSet-1.2.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/sqljdbc42.jar"/>
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/xmlbeans-3.1.0.jar"/>
 	<classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>
 </classpath>

BIN
DataFusion/WebRoot/WEB-INF/lib/SparseBitSet-1.2.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/commons-codec-1.13.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/commons-collections4-4.4.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/commons-compress-1.19.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/commons-csv-1.8.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/commons-math3-3.6.1.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/curvesapi-1.06.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/easyexcel-3.2.1.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/easyexcel-core-3.2.1.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/easyexcel-support-3.2.1.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/ehcache-3.9.9.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/poi-4.1.2.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/poi-ooxml-4.1.2.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/poi-ooxml-schemas-4.1.2.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/slf4j-api-1.7.32.jar


BIN
DataFusion/WebRoot/WEB-INF/lib/xmlbeans-3.1.0.jar


+ 57 - 0
DataFusion/src/com/zskk/control/ViewController.java

@@ -1,5 +1,6 @@
 package com.zskk.control;
 
+import java.io.File;
 import java.io.IOException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -8,6 +9,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.util.ListUtils;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -19,6 +22,7 @@ import com.jfinal.plugin.activerecord.Record;
 import com.jfinal.plugin.activerecord.dialect.SqlServerDialect;
 import com.jfinal.plugin.druid.DruidPlugin;
 import com.zskk.service.DataService;
+import com.zskk.service.DemoData;
 import com.zskk.service.ServiceFactory;
 import com.zskk.service.ThreadPoolService;
 
@@ -137,6 +141,59 @@ public class ViewController extends Controller {
 		
 	}
 
+	public void xzexcel() {
+		String fileName ="/home/pi/Desktop/xlsx/hisdata" + ".xlsx";
+        File file = new File(fileName);
+
+        // 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
+        File tempFile = new File("/home/pi/Desktop/xlsx/temp.xlsx");
+        List<DemoData> list = data(this.getPara("time1"), this.getPara("time2"));
+        if (file.exists()){
+            // 第二次按照原有格式,不需要表头,追加写入
+            EasyExcel.write(file, DemoData.class).needHead(false).
+                    withTemplate(file).file(tempFile).sheet().doWrite(list);
+        }else {
+            // 第一次写入需要表头
+            EasyExcel.write(file,DemoData.class).sheet().doWrite(list);
+        }
+ 
+//        try (ExcelWriter excelWriter = EasyExcel.write(fileName, DemoData.class).build()) {
+//            // 这里注意 如果同一个sheet只要创建一次
+//            WriteSheet writeSheet = EasyExcel.writerSheet("模板").build();
+//            // 去调用写入,这里我调用了五次,实际使用时根据数据库分页的总的页数来
+//            for (int i = 0; i < 5; i++) {
+//                // 分页去数据库查询数据 这里可以去数据库查询每一页的数据
+//                List<DemoData> data = data();
+//                excelWriter.write(data, writeSheet);
+//            }
+//        }
+        
+        if (tempFile.exists()){
+            file.delete();
+            tempFile.renameTo(file);
+        }
+        renderJson(list);
+	}
+	
+	private List<DemoData> data(String time1,String time2) {
+		List<DemoData> list = ListUtils.newArrayList();
+		List<Record> lists = Db.use("connected").find("select * from v_Yyx where examdatetime>? and examdatetime<?",
+				time1, time2);
+		for (Record record : lists) {
+			DemoData data = new DemoData();
+			data.setExamdatetime(record.getStr("examdatetime"));
+			data.setAccnum(record.getStr("accnum"));
+			data.setAge(record.getStr("age"));
+			data.setName(record.getStr("name"));
+			data.setPatientid(record.getStr("patientid"));
+			data.setProject(record.getStr("project"));
+			data.setSex(record.getStr("sex"));
+			list.add(data);
+
+		}
+		return list;
+	}
+  
 	public void testConn() {
 		try {
 			DruidPlugin druidPluginConnected = createConnectedDruidPlugin();

+ 21 - 3
DataFusion/src/com/zskk/service/DataService.java

@@ -1,9 +1,15 @@
 package com.zskk.service;
 
+import java.io.File;
 import java.io.IOException;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.util.ListUtils;
+import com.alibaba.excel.write.metadata.WriteSheet;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -194,15 +200,27 @@ public class DataService {
         }
         return pinYin.toString();
     }
+//    private static List<DemoData> data() {
+//        List<DemoData> list = ListUtils.newArrayList();
+//        for (int i = 0; i < 10; i++) {
+//            DemoData data = new DemoData();
+//            data.setString("字符串" + i);
+//            data.setString2("12121211");
+//            data.setString3("dsf");
+//            list.add(data);
+//        }
+//        return list;
+//    }
 
     public static void main(String[] args) {
 //    	Map <String,String> map = new HashMap<String,String>();
 //    	map.put("institution_id", "47600001");
 //    	map.put("num", "10");
 //		postWithParameters(GET_EXAM_URL, map);
-    	String pinYin = getAllPinyin("秋水共长天一色");
-        System.out.println("秋水共长天一色全拼:"+pinYin);
-      
+//    	String pinYin = getAllPinyin("秋水共长天一色");
+//        System.out.println("秋水共长天一色全拼:"+pinYin);
+        
+
 	}
 
 }

+ 74 - 0
DataFusion/src/com/zskk/service/DemoData.java

@@ -0,0 +1,74 @@
+package com.zskk.service;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+
+public class DemoData {
+    public String getExamdatetime() {
+		return examdatetime;
+	}
+	public void setExamdatetime(String examdatetime) {
+		this.examdatetime = examdatetime;
+	}
+	public String getAccnum() {
+		return accnum;
+	}
+	public void setAccnum(String accnum) {
+		this.accnum = accnum;
+	}
+	public String getPatientid() {
+		return patientid;
+	}
+	public void setPatientid(String patientid) {
+		this.patientid = patientid;
+	}
+	public String getSex() {
+		return sex;
+	}
+	public void setSex(String sex) {
+		this.sex = sex;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public String getProject() {
+		return project;
+	}
+	public void setProject(String project) {
+		this.project = project;
+	}
+	public String getAge() {
+		return age;
+	}
+	public void setAge(String age) {
+		this.age = age;
+	}
+	public String getIgnore() {
+		return ignore;
+	}
+	public void setIgnore(String ignore) {
+		this.ignore = ignore;
+	}
+	@ExcelProperty("examdatetime")
+    private String examdatetime;
+	@ExcelProperty("accnum")
+    private String accnum;
+    @ExcelProperty("patientid")
+    private String patientid;
+    @ExcelProperty("sex")
+    private String sex;
+    @ExcelProperty("name")
+    private String name;
+    @ExcelProperty("project")
+    private String project;
+    @ExcelProperty("age")
+    private String age;
+    /**
+     * 忽略这个字段
+     */
+    @ExcelIgnore
+    private String ignore;
+}