Skip to content

Commit 6fc2896

Browse files
committed
支持DB查询直接导出excel
1 parent be5d408 commit 6fc2896

6 files changed

Lines changed: 33 additions & 3 deletions

File tree

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010

1111
## 更新纪录
1212

13+
### 更新2017/01/01
14+
* 支持基于数据库查新的导出(Map),直接方法Result对象即可
15+
* 支持基于数据库查新的导出(Object),直接方法Result对象即可
16+
1317
### 更新2016/11/30
1418
* 增加了简单类型得写入,生成xls/xlsx
1519
* 直接JavaBean类型写入,注解命名

src/main/java/seven/ExcelFactory.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
package seven;
22

3+
import seven.callBack.PackageDataInterface;
34
import seven.savewapper.SaveExcel;
5+
import seven.savewapper.wapperRef.sysWppers.ResExprotDBMap;
6+
import seven.savewapper.wapperRef.sysWppers.ResExprotDBObj;
47
import seven.savewapper.wapperRef.sysWppers.ResExprotMap;
58
import seven.savewapper.wapperRef.sysWppers.ResExprotObj;
69
import seven.wapperInt.Wrapper;
710
import seven.wapperInt.wapperRef.WrapperObj;
811

12+
import java.sql.ResultSet;
913
import java.util.List;
1014
import java.util.Map;
1115

@@ -47,5 +51,11 @@ public static SaveExcel saveExcel(List<? extends Object> bean, String FilePath)
4751
}
4852
return new ResExprotObj((List)bean, FilePath);
4953
}
54+
public static SaveExcel saveExcel(ResultSet resultSet, String FilePath) throws Exception {
55+
return new ResExprotDBMap(resultSet,FilePath);
56+
}
57+
public static SaveExcel saveExcel(ResultSet resultSet, String FilePath, PackageDataInterface packageDataInterface) throws Exception {
58+
return new ResExprotDBObj(resultSet,FilePath,packageDataInterface);
59+
}
5060

5161
}

src/main/java/seven/savewapper/wapperRef/SaveExcelObject.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import seven.callBack.imp.DefaultDataProFilter;
2323
import seven.savewapper.SaveExcel;
2424

25+
import java.sql.ResultSet;
2526
import java.util.ArrayList;
2627
import java.util.Comparator;
2728
import java.util.List;
@@ -37,12 +38,16 @@ public abstract class SaveExcelObject<T> implements SaveExcel{
3738
protected List<String> filterColBy_key=new ArrayList<>();
3839
protected DataFilterInterface filter=new DefaultDataFilter<Object>();
3940
protected DataFilterProcessInterface process=new DefaultDataProFilter<Object>();
40-
protected Comparator<? super Object> c=null;;
41+
protected Comparator<? super Object> c=null;
42+
protected ResultSet resultSet=null;
4143

4244
public SaveExcelObject(List<T> list, String path) {
4345
this.list = list;
4446
this.path = path;
45-
47+
}
48+
public SaveExcelObject(ResultSet resultSet, String path) {
49+
this.resultSet=resultSet;
50+
this.path = path;
4651
}
4752

4853
@Override

src/main/java/seven/savewapper/wapperRef/sysWppers/ResExprotMap.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import java.io.FileOutputStream;
2323
import java.io.OutputStream;
24+
import java.sql.ResultSet;
2425
import java.util.*;
2526

2627
/**
@@ -33,6 +34,12 @@ public ResExprotMap(List<Map> list, String path) {
3334
super(list, path);
3435
}
3536

37+
public ResExprotMap(ResultSet resultSet, String path) {
38+
super(resultSet, path);
39+
}
40+
41+
42+
3643
@Override
3744
public void Save() throws Exception {
3845
Workbook wk = ExcelTool.newInstance(path, true);
@@ -87,6 +94,7 @@ public void Save() throws Exception {
8794
}
8895
try {
8996
wk.write(out);
97+
9098
} finally {
9199
wk.close();
92100
out.close();

src/main/java/seven/savewapper/wapperRef/sysWppers/ResExprotObj.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.io.FileOutputStream;
2424
import java.io.OutputStream;
2525
import java.lang.reflect.Field;
26+
import java.sql.ResultSet;
2627
import java.util.List;
2728

2829
/**
@@ -35,6 +36,9 @@ public class ResExprotObj extends SaveExcelObject<Object> {
3536
public ResExprotObj(List<Object> list, String path) {
3637
super(list, path);
3738
}
39+
public ResExprotObj(ResultSet resultSet, String path) {
40+
super(resultSet, path);
41+
}
3842

3943
@Override
4044
public void Save() throws Exception {

src/test/java/Demo.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ public class Demo {
3838
@Test
3939
public void Test_01() throws Exception {
4040

41-
4241
ExcelFactory.getBeans(System.getProperty("user.dir").concat("\\测试.xls"),
4342
new ResWrapperMap() {
4443
@Override

0 commit comments

Comments
 (0)