#Base on Poi
##1.读取excel
```Java
public static void main(final String[] args) throws IOException {
final Reader reader = SimpleReaderTemplate.newInstance();
final InputStream is = new FileInputStream(new File("D:/text.xls"));
final List<ESheet> sheets = reader.read(is);
for(final ESheet sheet: sheets){
for(final ERow row: sheet.getRows()){
for(final ECell cell: row.getCells()){
System.out.print(cell);
System.out.println("----"+cell.getValue().getClass());
}
}
}
}
```
##2. write example1: 导出简单的excel,并且自己设置样式
```Java
public static void main(String[] args) {
final Test1Model header = new Test1Model(new Object[]{"周一","周二","周三","周四","周五","周六","周日"});
final List<Test1Model> body = new ArrayList<Test1Model>();
for(int i=0; i<6; i++){
final Object[] data = new Object[7];
data[1] = "String"+i;
data[2] = new Object();
data[3] = 10+i;
data[4] = 20.5+i;
data[5] = true;
data[6] = new Date();
data[0] = null;
body.add(new Test1Model(data));
}
final EasyTemplate t = TemplateFactory.createTemplate(SimpleTemplate.class, header, body);
final Config config = t.getSheets().get(0).getSheetStyle();
EStyle style = EStyle.newBorderInstance();
StyleDecorate.decorateBgYellow(style);
style.setFontSize(EStyle.FONT_SIZE_BIG);
style.setFontBold(true);
style.setAlign(CellStyle.ALIGN_CENTER);
config.setStyle(new Region(0,0,0,6),style);
style = EStyle.newBorderInstance();
style.setFormat(EStyle.FORMAT_MONEY_RMB);
config.setStyle(new Region(1,6,4,4), style);
style = EStyle.newBorderInstance();
style.setFormat(EStyle.FORMAT_PERCENTAGE);
config.setStyle(new Region(1,6,3,3),style);
style = EStyle.newBorderInstance();
style.setFormat(EStyle.FORMAT_DATE);
config.setStyle(new Region(1,6,6,6), style);
config.addRowHeight(0, 30f);
config.addColumnWidth(2, Config.DEFAULT_WIDTH*3);
config.addColumnWidth(6, Config.DEFAULT_WIDTH+3);
FileOutputStream fos = null;
try {
fos = new FileOutputStream("D:/text.xlsx");
t.build(fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fos != null) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
##3. example: 导出一页Page
```Java
public static void main(String[] args) {
String[] header = { "周一", "周二", "周三", "周四", "周五", "周六", "周日" };
Test1Model h = new Test1Model(header);
List<Test1Model> list = new ArrayList<Test1Model>();
for (int i = 0; i < 6; i++) {
Object[] data = new Object[7];
data[1] = "String" + i;
data[2] = new Object();
data[3] = 10 + i;
data[4] = 20.5 + i;
data[5] = true;
data[6] = new Date();
data[0] = null;
list.add(new Test1Model(data));
}
Pager pager = new MyPager("测试", h, list);
EasyTemplate t = TemplateFactory.createTemplate(SimpleTemplate.class,pager);
Config config = t.getConfig(0);
config.setDefaultWidth(Config.DEFAULT_WIDTH+5);
FileOutputStream fos = null;
try {
fos = new FileOutputStream("D:/text.xlsx");
t.build(fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fos != null) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
##4.导出多页
```Java
public static void main(String[] args) {
Pagers pagers = new Pagers();
for (int j = 0; j < 5; j++) {
Record header = new Test1Model(new Object[]{ "周一", "周二", "周三", "周四", "周五", "周六", "周日" });
Collection<Record> list = new ArrayList<Record>();
for (int i = 0; i < 6; i++) {
Object[] data = new Object[7];
data[1] = "String" + i;
data[2] = new Object();
data[3] = 10 + i;
data[4] = 20.5 + i;
data[5] = true;
data[6] = new Date();
data[0] = null;
list.add(new Test1Model(data));
}
MyPager pager = new MyPager("测试" + j, header, list);
pagers.addPager(pager);
}
pagers.setTitleOnlyFirstPage(false);
pagers.setLineSpacing(1);
EasyTemplate t = TemplateFactory.createTemplate(SimpleTemplate.class,pagers);
Config config = t.getConfig(0);
config.setDefaultWidth(config.getDefaultWidth()*2);
config.addRowHeight(config.getDefaultHeight()+10, RowType.TITLE);
FileOutputStream fos = null;
try {
fos = new FileOutputStream("D:/text.xls");
t.build(fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fos != null) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
##5. 导出多个sheet
```Java
public static void main(final String[] args) throws IllegalAccessException, IOException {
final EasyTemplate template = new SimpleTemplate();
for(int j=0; j<3; j++){
final SheetTemplate sheet = new SheetTemplate();
sheet.setName("name"+j);
final Record header = new Test1Model(new Object[]{ "周一", "周二", "周三", "周四", "周五", "周六", "周日" });
final Collection<Record> list = new ArrayList<Record>();
for (int i = 0; i < 6; i++) {
final Object[] data = new Object[7];
data[1] = "String" + i;
data[2] = new Object();
data[3] = 10 + i;
data[4] = 20.5 + i;
data[5] = true;
data[6] = new Date();
data[0] = null;
list.add(new Test1Model(data));
}
sheet.addData(header, list);
template.addSheet(sheet);
}
final FileOutputStream fos = new FileOutputStream("D:/text.xls");
template.build(fos);
}
```
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
poi-template.zip (38个子文件)
src
example
java
template
Test1.java 2KB
Test3.java 2KB
ReadTest.java 976B
Test4.java 1KB
Test1Model.java 488B
Test2.java 2KB
MyPager.java 883B
test
java
xgt
util
easyexcel
AppTest.java 684B
main
resources
log4j.properties 212B
java
xgt
util
excel
utils
FontDecorate.java 2KB
StyleDecorate.java 2KB
Region.java 2KB
Reader.java 252B
styles
Align.java 108B
Dataformat.java 113B
DefaultStyleAdaptor.java 2KB
Border.java 1KB
BorderStyle.java 1KB
Directive.java 134B
model
RowType.java 505B
Pagers.java 1KB
ExcelCellRangeAddress.java 1KB
ESheet.java 652B
ECell.java 1KB
Record.java 976B
ERow.java 2KB
EStyle.java 3KB
Ignore.java 296B
StyleAdaptor.java 265B
SheetTemplate.java 3KB
Config.java 3KB
templates
SimpleReaderTemplate.java 4KB
SimpleTemplate.java 7KB
TemplateFactory.java 2KB
Pager.java 351B
EasyTemplate.java 1KB
README.md 6KB
pom.xml 1KB
共 38 条
- 1
资源评论
qq343445708
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功