| @@ -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(); | |||
| } | |||
| } | |||