package monthdemo;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.annotation.Resource;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MonthDemo {
/**
* 将月历存储至本地
* @param month 指定是2018年的哪个月
* @throws IOException
*/
@RequestMapping(value="/rest/setNumExcel/{month}")
public void exportExcel(@PathVariable String month)
throws IOException{
//获取excel文件的byte数组
byte[] bytes=excel(month);
//将byte数组写入到本地文件中
File file=new File("./month/"+"2018-"+month+".xlsx");
FileOutputStream fos=new FileOutputStream(file);
fos.write(bytes);
fos.close();
}
/**
* 向模板中添加日期完成月历
* @param month 指定2018年的哪个月
* @return 月历文件的byte数组
* @throws IOException
*/
public byte[] excel(String month) throws IOException {
//读取excel模板
InputStream is = new FileInputStream(new File("./month/demo11.xlsx"));
Workbook workbook = new XSSFWorkbook(is);
org.apache.poi.ss.usermodel.Sheet sheet =workbook.getSheetAt(0);
//向excel模板中添加日期
int mon=Integer.parseInt(month);
int cell;
Calendar calendar=new GregorianCalendar();
calendar.set(Calendar.YEAR, 2018);
calendar.set(Calendar.MONTH,mon-1);
calendar.set(Calendar.DAY_OF_MONTH,1);
int maxday=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
int days=calendar.get(Calendar.DAY_OF_WEEK);
if(days>=2) {
cell=days-2;
}else {
cell=6;
}
int day=1;
for(int i=1;i>0;) {
Row row=sheet.createRow(i);
for(;day<maxday+1;day++) {
String date=day+"";
row.createCell(cell).setCellValue(date);
cell++;
if(cell>6) {
cell=0;
day++;
break;
}
}
i++;
if(day==maxday+1) {
break;
}
}
//将Excel写到流中
ByteArrayOutputStream out=
new ByteArrayOutputStream();
workbook.write(out);
workbook.close();
out.close();
//从流中获取全部Excel的数据
byte[] bytes=out.toByteArray();
return bytes;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
1、通过maven 建立一个 Spring Cloud的工程 2、做一个rest的访问接口 http://localhost:8761/rest/setNumExcel 输入参数为月份,最终打开本excel模板,将月历的日期填写到excel表格中,并重新另存为2018-月份.xlsx 3、最终提交件 是个war包
资源推荐
资源详情
资源评论
收起资源包目录
spring cloud实例 (337个子文件)
MonthDemo.class 3KB
MonthDemo.class 3KB
Demo2Application.class 1KB
Demo2Application.class 1KB
Demo2ApplicationTests.class 615B
.classpath 1KB
mvnw.cmd 6KB
org.eclipse.wst.common.component 684B
org.eclipse.wst.jsdt.ui.superType.container 49B
.gitignore 268B
readinglist.iml 18KB
poi-ooxml-schemas-3.14.jar 5.65MB
bcprov-jdk15on-1.60.jar 4MB
xmlbeans-2.6.0.jar 2.6MB
poi-3.14.jar 2.41MB
guava-16.0.jar 2.12MB
aspectjweaver-1.9.2.jar 1.96MB
freemarker-2.3.28.jar 1.45MB
spring-web-5.1.2.RELEASE.jar 1.31MB
jackson-databind-2.9.7.jar 1.29MB
spring-core-5.1.2.RELEASE.jar 1.23MB
poi-ooxml-3.14.jar 1.23MB
spring-boot-autoconfigure-2.1.0.RELEASE.jar 1.2MB
rxjava-1.3.8.jar 1.11MB
hibernate-validator-6.0.13.Final.jar 1.1MB
spring-context-5.1.2.RELEASE.jar 1.05MB
commons-math-2.2.jar 965KB
spring-boot-2.1.0.RELEASE.jar 933KB
spring-webmvc-5.1.2.RELEASE.jar 780KB
bcpkix-jdk15on-1.60.jar 778KB
httpclient-4.5.6.jar 749KB
jersey-server-1.19.1.jar 689KB
guice-4.1.0.jar 658KB
spring-beans-5.1.2.RELEASE.jar 656KB
joda-time-2.10.1.jar 626KB
xstream-1.4.10.jar 576KB
commons-collections-3.2.2.jar 575KB
netty-common-4.1.29.Final.jar 565KB
netty-codec-http-4.1.29.Final.jar 550KB
woodstox-core-5.0.3.jar 501KB
spring-boot-actuator-2.1.0.RELEASE.jar 495KB
spring-cloud-netflix-eureka-server-2.1.0.M1.jar 477KB
woodstox-core-asl-4.4.1.jar 475KB
hystrix-core-1.5.12.jar 462KB
logback-core-1.2.3.jar 461KB
netty-transport-4.1.29.Final.jar 451KB
antlr-2.7.7.jar 435KB
eureka-client-1.9.3.jar 429KB
jersey-core-1.19.1.jar 427KB
spring-boot-actuator-autoconfigure-2.1.0.RELEASE.jar 424KB
micrometer-core-1.1.0.jar 411KB
rxnetty-0.4.9.jar 393KB
spring-aop-5.1.2.RELEASE.jar 360KB
commons-configuration-1.8.jar 346KB
commons-codec-1.11.jar 327KB
httpcore-4.4.10.jar 319KB
jackson-core-2.9.7.jar 316KB
netty-codec-4.1.29.Final.jar 309KB
snakeyaml-1.23.jar 294KB
commons-jxpath-1.3.jar 293KB
logback-classic-1.2.3.jar 284KB
commons-lang-2.6.jar 278KB
spring-expression-5.1.2.RELEASE.jar 273KB
netty-buffer-4.1.29.Final.jar 266KB
log4j-api-2.11.1.jar 258KB
eureka-core-1.9.3.jar 247KB
gson-2.8.5.jar 236KB
servo-core-0.12.21.jar 221KB
spring-context-support-5.1.2.RELEASE.jar 177KB
dexx-collections-0.2.jar 162KB
antlr-runtime-3.4.jar 161KB
stax2-api-3.1.4.jar 158KB
ribbon-loadbalancer-2.2.5.jar 158KB
stringtemplate-3.2.1.jar 145KB
archaius-core-0.7.6.jar 136KB
jersey-client-1.19.1.jar 131KB
jersey-servlet-1.19.1.jar 126KB
spring-cloud-commons-2.1.0.M1.jar 126KB
netty-transport-native-epoll-4.1.29.Final.jar 113KB
HdrHistogram-2.1.9.jar 111KB
spring-cloud-context-2.1.0.M1.jar 103KB
spring-cloud-netflix-ribbon-2.1.0.M1.jar 101KB
netflix-infix-0.3.0.jar 99KB
jackson-datatype-jsr310-2.9.7.jar 98KB
jackson-dataformat-xml-2.9.7.jar 96KB
spring-cloud-netflix-eureka-client-2.1.0.M1.jar 96KB
validation-api-2.0.1.Final.jar 91KB
curvesapi-1.03.jar 90KB
ribbon-2.2.5.jar 85KB
jettison-1.3.7.jar 82KB
ribbon-core-2.2.5.jar 81KB
spring-security-crypto-5.1.1.RELEASE.jar 71KB
netflix-eventbus-0.3.0.jar 67KB
classmate-1.4.0.jar 65KB
jackson-annotations-2.9.0.jar 65KB
jboss-logging-3.3.2.Final.jar 65KB
ribbon-httpclient-2.2.5.jar 53KB
rxnetty-contexts-0.4.9.jar 53KB
maven-wrapper.jar 47KB
jsr311-api-1.1.1.jar 45KB
共 337 条
- 1
- 2
- 3
- 4
资源评论
尘劳关锁
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于 Ant 的 Java 项目示例.zip
- 各种字符串相似度和距离算法的实现Levenshtein、Jaro-winkler、n-Gram、Q-Gram、Jaccard index、最长公共子序列编辑距离、余弦相似度…….zip
- 运用python生成的跳跃的爱心
- 包括用 Java 编写的程序 欢迎您在此做出贡献!.zip
- (源码)基于QT框架的学生管理系统.zip
- 功能齐全的 Java Socket.IO 客户端库,兼容 Socket.IO v1.0 及更高版本 .zip
- 功能性 javascript 研讨会 无需任何库(即无需下划线),只需 ES5 .zip
- 分享Java相关的东西 - Java安全漫谈笔记相关内容.zip
- 具有适合 Java 应用程序的顺序定义的 Cloud Native Buildpack.zip
- 网络建设运维资料库职业
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功