@Override
public void adjustExcleColumnPosition(String filePath,int col) throws Exception{
File file=new File(filePath);
InputStream inputStream=new FileInputStream(file);
HSSFWorkbook workBook=new HSSFWorkbook(inputStream);
HSSFSheet firstSheet=workBook.getSheetAt(0);
for(int i=0;i<=firstSheet.getLastRowNum();i++){
HSSFRow row=firstSheet.getRow(i);
//记录每行第一列 数据
String firstCellValue=row.getCell(0).getStringCellValue();
for(int j=0;j<col;j++){
HSSFCell currentCell= row.getCell(j);
if(null == currentCell){
currentCell=row.createCell(j);
}
if(j==col-1){
//如果是最后一列了 把合同附件名称和编号 放到最后 循环下一行
currentCell.setCellValue(firstCellValue);
continue;
}
HSSFCell nextCell=row.getCell(j+1);
if(null == nextCell){
nextCell=row.createCell(j+1);
}
String nextCellValue=nextCell.getStringCellValue();
currentCell.setCellValue(nextCellValue);
}
} for(int i=0;i<=firstSheet.getLastRowNum();i++){
HSSFRow row=firstSheet.getRow(i);
HSSFCell firstCell=row.getCell(0);
HSSFCell lastCell=row.getCell(col-1);
String firstCellValue=firstCell.getStringCellValue();
String lastCellValue=lastCell.getStringCellValue();
if(null!=firstCellValue&&null!=lastCellValue){
System.out.println(firstCellValue+"----"+lastCellValue);
}
}
ByteArrayOutputStream outByte=new ByteArrayOutputStream();
workBook.write(outByte);
byte[] contents=outByte.toByteArray();
InputStream ins=new ByteArrayInputStream(contents);
OutputStream out = new FileOutputStream(file);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
out.write(buffer, 0, bytesRead);
}
out.close();
ins.close();
}

java poi excel操作 把第一列放到最后去的更多相关文章

  1. java poi excel操作 下拉菜单 及数据有效性

    1 private InputStream updateTemplateStyleHSSF(InputStream inputStream,CsCustCon csCustCon) throws IO ...

  2. Java POI Excel 导入导出

    这个东西很容易懂,不是特别难,难就难在一些复杂的计算和Excel格式的调整上. 近期写了一个小列子,放上来便于以后使用. POI.jar下载地址:http://mirror.bit.edu.cn/ap ...

  3. java 对excel操作 读取、写入、修改数据;导出数据库数据到excel

    ============前提加入jar包jxl.jar========================= // 从数据库导出数据到excel public List<Xskh> outPu ...

  4. java对excel操作

    package test; import jxl.*; import jxl.Cell; import java.io.*; /** * 读取excel */ public class TestExc ...

  5. java POI excel 导出复合样式(一个单元格两个字体)

    前言:java poi 导出 excel 时,需要设置一个单元格有多个字体样式,有点类似于富文本. 想要达到的效果(一个单元格里): 我使用的 poi 版本是 <dependency> & ...

  6. java poi excel导入模板设置下拉框

    import org.apache.poi.hssf.usermodel.DVConstraint; import org.apache.poi.hssf.usermodel.HSSFCell; im ...

  7. java poi excel 生成表格的工具封装

    效果如下: 代码如下: import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import ...

  8. java, poi, excel

    工作需要用java操作Excel,现在网上搜索了一下,决定选取POI包来操作.pom内容如下: <dependency> <groupId>org.apache.poi< ...

  9. java POI Excel 单元格样式

    正如Html需要CSS一样,我们的POI生成的Excel同样需要样式才能更完美的表现我们的数据.下面还是从简单的例子出发,学习和了解POI的样式设计. 一.我的位置. 1 package com.my ...

随机推荐

  1. day16:内置函数二

    1,大作业,yield 返回之后可以对数据进行处理了就,注意函数的解耦,每一个小功能写成一个函数,增强可读性,写之前自己要先把整体功能分块,先做什么,在做什么 # 现在需要对这个员工信息文件进行增删改 ...

  2. 线程安全 Thread Safety Problem scala concurrency 并发

    小结: 1.基于java并发模型 Scala concurrency is built on top of the Java concurrency model. 2. 将每个请求放入一个新的线程 T ...

  3. 添加一个Activity

    #Android中增加一个Activity 1. 在AndroidManifest.xml中增加: <activity android:name="com.example.NewAct ...

  4. Spring Boot 基于Spring Initializer 的快速构建 day02

    一.基于Spring Initializr 快速构建Spring Boot项目(快速) 备注:需要联网 这是使用Intellij Idea快速构建可以为我们省去大量的pom.xml配置时间,简单操作, ...

  5. 外星人入侵——安装Pygame

    本文以win10和Python3为例来介绍如何安装Pygame. 安装Pygame需要使用pip,我们首先检查pip是否已被安装. 打开一个终端窗口,并执行如下命令 C:\Users\hys>p ...

  6. CSS-对于IE的兼容问题处理

    css兼容问题 兼容问题 1.文字本身的大小不兼容.同样是font-size:14px的宋体文字,在不同浏览器下占的空间是不一样的,ie下实际占高16px,下留白3px,ff下实际占高17px,上留白 ...

  7. oracle 新建用户后赋予的权限语句

    grant create session,resource to itsys; grant create table to itsys;grant resource to itsys;grant cr ...

  8. char 类型的操作函数

    1.内存充填 void *memset(void *s,int ch,size_t n); 是由C Run-time Library提供的提供的函数,作用是在一段内存块中填充某个给定的值,它是对较大的 ...

  9. Python类中的__init__() 和 self 的解析

    原文地址https://www.cnblogs.com/ant-colonies/p/6718388.html 1.Python中self的含义 self,英文单词意思很明显,表示自己,本身. 此处有 ...

  10. nodejs笔记之文件操作

    文件操作包含: 读取文件 写入文件 删除文件 创建目录 删除目录 读取文件: // 异步操作 var fs = require("fs"); fs.readFile(". ...