@@ -46,7 +46,16 @@ EasyPoi的几个入口工具类 | |||
- 2.0.6-SNAPSHOT | |||
- 增加map的导出 | |||
- 增加index 列 | |||
--------------------------- | |||
EasyPoi 文档 | |||
--------------------------- | |||
[EasyPoi-在财务报表中的应用](http://git.oschina.net/jueyue/easypoi/wikis/EasyPoi-%E5%9C%A8%E8%B4%A2%E5%8A%A1%E6%8A%A5%E8%A1%A8%E4%B8%AD%E7%9A%84%E5%BA%94%E7%94%A8) | |||
[EasyPoi-如何筛选导出属性](http://git.oschina.net/jueyue/easypoi/wikis/EasyPoi-%E5%A6%82%E4%BD%95%E7%AD%9B%E9%80%89%E5%AF%BC%E5%87%BA%E5%B1%9E%E6%80%A7) | |||
--------------------------- | |||
EasyPoi导出实例 | |||
--------------------------- | |||
@@ -0,0 +1,28 @@ | |||
package org.jeecgframework.poi.entity; | |||
import org.jeecgframework.poi.excel.annotation.Excel; | |||
public class TestEntity { | |||
@Excel(name = "蓝牙POS机") | |||
private String lanya; | |||
@Excel(name = "蓝牙点付宝") | |||
private String pos; | |||
public String getLanya() { | |||
return lanya; | |||
} | |||
public void setLanya(String lanya) { | |||
this.lanya = lanya; | |||
} | |||
public String getPos() { | |||
return pos; | |||
} | |||
public void setPos(String pos) { | |||
this.pos = pos; | |||
} | |||
} |
@@ -0,0 +1,34 @@ | |||
package org.jeecgframework.poi.entity.temp; | |||
import org.jeecgframework.poi.excel.annotation.Excel; | |||
/** | |||
* 预算 | |||
* @author JueYue | |||
* @date 2014年12月27日 下午9:08:03 | |||
*/ | |||
public class BudgetAccountsEntity { | |||
@Excel(name = "编码") | |||
private String code; | |||
@Excel(name = "名称") | |||
private String name; | |||
public String getCode() { | |||
return code; | |||
} | |||
public void setCode(String code) { | |||
this.code = code; | |||
} | |||
public String getName() { | |||
return name; | |||
} | |||
public void setName(String name) { | |||
this.name = name; | |||
} | |||
} |
@@ -0,0 +1,40 @@ | |||
package org.jeecgframework.poi.entity.temp; | |||
import org.jeecgframework.poi.excel.annotation.Excel; | |||
public class PayeeEntity { | |||
@Excel(name = "全称") | |||
private String name; | |||
@Excel(name = "银行账号") | |||
private String bankAccount; | |||
@Excel(name = "开户银行") | |||
private String bankName; | |||
public String getName() { | |||
return name; | |||
} | |||
public void setName(String name) { | |||
this.name = name; | |||
} | |||
public String getBankAccount() { | |||
return bankAccount; | |||
} | |||
public void setBankAccount(String bankAccount) { | |||
this.bankAccount = bankAccount; | |||
} | |||
public String getBankName() { | |||
return bankName; | |||
} | |||
public void setBankName(String bankName) { | |||
this.bankName = bankName; | |||
} | |||
} |
@@ -0,0 +1,99 @@ | |||
package org.jeecgframework.poi.entity.temp; | |||
import java.io.Serializable; | |||
import java.util.List; | |||
import org.jeecgframework.poi.excel.annotation.Excel; | |||
import org.jeecgframework.poi.excel.annotation.ExcelCollection; | |||
import org.jeecgframework.poi.excel.annotation.ExcelEntity; | |||
/** | |||
* 模板导出 测试类 | |||
* @author JueYue | |||
* @date 2014年12月26日 上午9:39:13 | |||
*/ | |||
public class TemplateExcelExportEntity implements Serializable { | |||
/** | |||
* | |||
*/ | |||
private static final long serialVersionUID = 1L; | |||
@Excel(name = "序号") | |||
private String index; | |||
@Excel(name = "资金性质") | |||
private String accountType; | |||
@ExcelCollection(name = "预算科目") | |||
private List<BudgetAccountsEntity> budgetAccounts; | |||
@Excel(name = "项目名称") | |||
private String projectName; | |||
@ExcelEntity(name = "收款人") | |||
private PayeeEntity payee; | |||
@Excel(name = "申请金额") | |||
private String amountApplied; | |||
@Excel(name = "核定金额") | |||
private String approvedAmount; | |||
public String getIndex() { | |||
return index; | |||
} | |||
public void setIndex(String index) { | |||
this.index = index; | |||
} | |||
public String getAccountType() { | |||
return accountType; | |||
} | |||
public void setAccountType(String accountType) { | |||
this.accountType = accountType; | |||
} | |||
public List<BudgetAccountsEntity> getBudgetAccounts() { | |||
return budgetAccounts; | |||
} | |||
public void setBudgetAccounts(List<BudgetAccountsEntity> budgetAccounts) { | |||
this.budgetAccounts = budgetAccounts; | |||
} | |||
public String getProjectName() { | |||
return projectName; | |||
} | |||
public void setProjectName(String projectName) { | |||
this.projectName = projectName; | |||
} | |||
public PayeeEntity getPayee() { | |||
return payee; | |||
} | |||
public void setPayee(PayeeEntity payee) { | |||
this.payee = payee; | |||
} | |||
public String getAmountApplied() { | |||
return amountApplied; | |||
} | |||
public void setAmountApplied(String amountApplied) { | |||
this.amountApplied = amountApplied; | |||
} | |||
public String getApprovedAmount() { | |||
return approvedAmount; | |||
} | |||
public void setApprovedAmount(String approvedAmount) { | |||
this.approvedAmount = approvedAmount; | |||
} | |||
} |
@@ -4,13 +4,15 @@ import java.io.File; | |||
import java.util.Date; | |||
import java.util.List; | |||
import org.apache.commons.lang.StringUtils; | |||
import org.jeecgframework.poi.entity.CourseEntity; | |||
import org.jeecgframework.poi.entity.TestEntity; | |||
import org.jeecgframework.poi.excel.entity.ImportParams; | |||
import org.junit.Test; | |||
public class ExcelImportUtilTest { | |||
@Test | |||
//@Test | |||
public void test() { | |||
ImportParams params = new ImportParams(); | |||
params.setTitleRows(2); | |||
@@ -18,9 +20,31 @@ public class ExcelImportUtilTest { | |||
//params.setSheetNum(9); | |||
params.setNeedSave(true); | |||
long start = new Date().getTime(); | |||
List<CourseEntity> list = ExcelImportUtil.importExcel(new File("d:/tt.xls"), | |||
List<CourseEntity> list = ExcelImportUtil.importExcel(new File("d:/tt.xlsx"), | |||
CourseEntity.class, params); | |||
System.out.println(list.size() + "-----" + (new Date().getTime() - start)); | |||
} | |||
@Test | |||
public void test2() { | |||
ImportParams params = new ImportParams(); | |||
params.setTitleRows(1); | |||
params.setHeadRows(1); | |||
params.setSheetNum(8); | |||
//params.setSheetNum(9); | |||
long start = new Date().getTime(); | |||
List<TestEntity> list = ExcelImportUtil.importExcel(new File("d:/tt.xlsx"), | |||
TestEntity.class, params); | |||
String str = ""; | |||
for (int i = 0; i < list.size(); i++) { | |||
if (StringUtils.isNotEmpty(list.get(i).getLanya())) { | |||
str += "','" + Double.valueOf(list.get(i).getLanya()).intValue(); | |||
} | |||
if (StringUtils.isNotEmpty(list.get(i).getPos())) { | |||
str += "','" + Double.valueOf(list.get(i).getPos()).intValue(); | |||
} | |||
} | |||
System.out.println(str); | |||
System.out.println(str.split(",").length); | |||
} | |||
} |
@@ -0,0 +1,80 @@ | |||
package org.jeecgframework.poi.excel.template; | |||
import static org.junit.Assert.*; | |||
import java.io.File; | |||
import java.io.FileOutputStream; | |||
import java.util.ArrayList; | |||
import java.util.Date; | |||
import java.util.HashMap; | |||
import java.util.List; | |||
import java.util.Map; | |||
import org.apache.poi.ss.usermodel.Workbook; | |||
import org.jeecgframework.poi.entity.statistics.StatisticEntity; | |||
import org.jeecgframework.poi.entity.temp.BudgetAccountsEntity; | |||
import org.jeecgframework.poi.entity.temp.PayeeEntity; | |||
import org.jeecgframework.poi.entity.temp.TemplateExcelExportEntity; | |||
import org.jeecgframework.poi.excel.ExcelExportUtil; | |||
import org.jeecgframework.poi.excel.entity.TemplateExportParams; | |||
import org.junit.Test; | |||
import com.google.common.collect.Lists; | |||
public class TemplateExcelExportTest { | |||
@Test | |||
public void test() throws Exception { | |||
TemplateExportParams params = new TemplateExportParams( | |||
"org/jeecgframework/poi/excel/doc/专项支出用款申请书.xls"); | |||
params.setHeadingStartRow(3); | |||
params.setHeadingRows(2); | |||
Map<String, Object> map = new HashMap<String, Object>(); | |||
map.put("date", "2014-12-25"); | |||
map.put("money", 2000000.00); | |||
map.put("upperMoney", "贰佰万"); | |||
map.put("company", "执笔潜行科技有限公司"); | |||
map.put("bureau", "财政局"); | |||
map.put("person", "JueYue"); | |||
map.put("phone", "1879740****"); | |||
List<TemplateExcelExportEntity> list = new ArrayList<TemplateExcelExportEntity>(); | |||
for (int i = 0; i < 1; i++) { | |||
TemplateExcelExportEntity entity = new TemplateExcelExportEntity(); | |||
entity.setIndex(i + 1 + ""); | |||
entity.setAccountType("开源项目"); | |||
entity.setProjectName("EasyPoi " + i + "期"); | |||
entity.setAmountApplied(i * 10000 + ""); | |||
entity.setApprovedAmount((i + 1) * 10000 - 100 + ""); | |||
List<BudgetAccountsEntity> budgetAccounts = Lists.newArrayList(); | |||
for (int j = 0; j < 1; j++) { | |||
BudgetAccountsEntity accountsEntity = new BudgetAccountsEntity(); | |||
accountsEntity.setCode("A001"); | |||
accountsEntity.setName("设计"); | |||
budgetAccounts.add(accountsEntity); | |||
accountsEntity = new BudgetAccountsEntity(); | |||
accountsEntity.setCode("A002"); | |||
accountsEntity.setName("开发"); | |||
budgetAccounts.add(accountsEntity); | |||
} | |||
entity.setBudgetAccounts(budgetAccounts); | |||
PayeeEntity payeeEntity = new PayeeEntity(); | |||
payeeEntity.setBankAccount("6222 0000 1234 1234"); | |||
payeeEntity.setBankName("中国银行"); | |||
payeeEntity.setName("小明"); | |||
entity.setPayee(payeeEntity); | |||
list.add(entity); | |||
} | |||
Workbook workbook = ExcelExportUtil.exportExcel(params, TemplateExcelExportEntity.class, | |||
list, map); | |||
File savefile = new File("d:/"); | |||
if (!savefile.exists()) { | |||
savefile.mkdirs(); | |||
} | |||
FileOutputStream fos = new FileOutputStream("d:/tt.xls"); | |||
workbook.write(fos); | |||
fos.close(); | |||
} | |||
} |