hyl151001 2018-10-19 03:32 采纳率: 0%
浏览 385
已结题

如何把jxl excel 变成 poi的 excel excel的表样是固定的 求大神解答 怎么改

public void downloadReport1(HttpServletResponse response,String time){
// File file = new File("/home/ydzxrpt/modelfile/86.xls");
File file = new File("H:\Desktop\86.xls");
// File file1 = new File("/home/ydzxrpt/modelfile/86write.xls");
File file1 = new File("H:\Desktop\86write.xls");
Date date = new Date(Long.valueOf(time));
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMM");
String formatDate = sdf.format(date);
String formatMonth = sdf1.format(date);
try {
Workbook workbook = Workbook.getWorkbook(file);
WritableWorkbook workbook1 = Workbook.createWorkbook(file1,workbook);
WritableSheet sheet1 = workbook1.getSheet(0);
Sheet sheet = workbook.getSheet(0);
String sql = "SELECT * FROM RPT_86HL_OPERATE_ZB_D where OP_TIME like '%"+formatDate+"%' or OP_TIME= '"+formatMonth+"' ORDER BY OP_TIME\n ";
List> maps = jdbcTemplate.queryForList(sql);
int firstXIndex = 2;
int firstYIndex = 1;
WritableFont wf = new WritableFont(WritableFont.ARIAL, 11, WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE);
WritableCellFormat wcf = new WritableCellFormat(wf);
wcf.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);
for (Map map : maps){
for (String key : map.keySet()) {
if(Objects.equals(key,"OP_TIME")){
String value = (String)map.get(key);
if(value.length() == 6){
String substring = value.substring(4,5);
if(Objects.equals(substring,"0")){
value = value.substring(5)+"月目标";
}else{
value = value.substring(4)+"月目标";
}
map.put(key,value);
}
if(value.length() == 8){//20180904
String substring = value.substring(4,5);
String value1 ="";
if(Objects.equals(substring,"0")){
value1 = value.substring(5,6)+"月";
}else{
value1 = value.substring(4,6)+"月";
}
String substring1 = value.substring(6,7);
if(Objects.equals(substring1,"0")){
value1 +=value.substring(7,8)+"日";
}else{
value1 +=value.substring(6,8)+"日";
}
value = value1;
map.put(key,value);
}
if(value.length() == 10){//2018090430
String substring = value.substring(4,5);
if(Objects.equals(substring,"0")){
value = value.substring(5,6)+"月累计";
}else{
value = value.substring(4,6)+"月累计";
}
map.put(key,value);
}
}
WritableCell wc = new Label(firstXIndex, firstYIndex, (String)map.get(key), wcf);
sheet1.addCell(wc);
firstYIndex++;
}
firstYIndex =1;
firstXIndex++;
}
workbook1.write();
workbook1.close();
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file1));
BufferedOutputStream bos = new BufferedOutputStream(response.getOutputStream());
HttpUtils.buildDownloadResponseHeader(response,"86热线运营指标日跟踪表.xls");
int length;
byte[] buf = new byte[1024];
while ((length = bis.read(buf)) > 0) {
bos.write(buf, 0, length);
}
bis.close();
bos.flush();
bos.close();

    } catch (Exception e) {
        e.printStackTrace();
    }
}
  • 写回答

1条回答 默认 最新

  • devmiao 2018-10-31 15:28
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛