Browse Source

新增了模板文档导出实例

4.1.3.A
jueyue 10 years ago
parent
commit
2fe0851e29
8 changed files with 317 additions and 3 deletions
  1. +10
    -1
      README.md
  2. +28
    -0
      easypoi-test/src/main/java/org/jeecgframework/poi/entity/TestEntity.java
  3. +34
    -0
      easypoi-test/src/main/java/org/jeecgframework/poi/entity/temp/BudgetAccountsEntity.java
  4. +40
    -0
      easypoi-test/src/main/java/org/jeecgframework/poi/entity/temp/PayeeEntity.java
  5. +99
    -0
      easypoi-test/src/main/java/org/jeecgframework/poi/entity/temp/TemplateExcelExportEntity.java
  6. +26
    -2
      easypoi-test/src/main/java/org/jeecgframework/poi/excel/ExcelImportUtilTest.java
  7. BIN
      easypoi-test/src/main/java/org/jeecgframework/poi/excel/doc/专项支出用款申请书.xls
  8. +80
    -0
      easypoi-test/src/main/java/org/jeecgframework/poi/excel/template/TemplateExcelExportTest.java

+ 10
- 1
README.md View File

@@ -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导出实例
---------------------------


+ 28
- 0
easypoi-test/src/main/java/org/jeecgframework/poi/entity/TestEntity.java View File

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

+ 34
- 0
easypoi-test/src/main/java/org/jeecgframework/poi/entity/temp/BudgetAccountsEntity.java View File

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

+ 40
- 0
easypoi-test/src/main/java/org/jeecgframework/poi/entity/temp/PayeeEntity.java View File

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

+ 99
- 0
easypoi-test/src/main/java/org/jeecgframework/poi/entity/temp/TemplateExcelExportEntity.java View File

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

+ 26
- 2
easypoi-test/src/main/java/org/jeecgframework/poi/excel/ExcelImportUtilTest.java View File

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

BIN
easypoi-test/src/main/java/org/jeecgframework/poi/excel/doc/专项支出用款申请书.xls View File


+ 80
- 0
easypoi-test/src/main/java/org/jeecgframework/poi/excel/template/TemplateExcelExportTest.java View File

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

Loading…
Cancel
Save