clonejoy 2018-12-21 23:59
浏览 479

请问我这个java代码怎么添加poi包的代码才能实现删除excel文件的第一行?

请问我这个java代码怎么添加poi包的代码才能实现删除excel文件的第一行?

package cn.ayee.xhd_Ledger;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;

import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class NhdLedger {
    public static void main(String[] args) throws IOException {
        File srcFolder = new File("G:\\share");
        File destFolder = new File("G:\\newShare");

        if(!destFolder.isDirectory()) {
            destFolder.mkdir();
        }

        //获取该目录下的被复制文件的File数组
        File[] fileArray = srcFolder.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                return new File(dir, name).isFile() && name.endsWith(".xls");
            }
        });
        //遍历被复制文件的File数组,得到每一个被复制文件对象
        for(File file : fileArray) {
            String name = file.getName();   
            File newFile = new File(destFolder, name);
            copyFile(file, newFile);
            File[] destFileArray = destFolder.listFiles();
            //在目的地目录下改名
            //获取复制文件的File数组
            for(File destFile : destFileArray) {
                String newName = destFile.getName().replace(name,"enterbill.xls");
                //封装复制的新文件的路径名
                File destNewFile = new File(destFolder, newName);
                //改名
                destFile.renameTo(destNewFile);
                //加上下面这段POI包的代码就报错
/*      FileInputStream is = new FileInputStream(destNewFile);      
                HSSFWorkbook workbook = new HSSFWorkbook(is);
                HSSFSheet sheet = workbook.getSheetAt(0);
                sheet.shiftRows(1, 1, -1);
                FileOutputStream os = new FileOutputStream(destNewFile);
                workbook.write(os);
                is.close();  
         os.close();*/
            }
        }

    }

    public static void copyFile(File file, File newFile) throws IOException {
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(newFile));

        byte[] bys = new byte[1024];
        int len;
        while((len = bis.read(bys)) != -1) {
            bos.write(bys, 0, len);
        }

        bis.close();
        bos.close();
    }
}
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 树莓派与pix飞控通信
    • ¥15 自动转发微信群信息到另外一个微信群
    • ¥15 outlook无法配置成功
    • ¥30 这是哪个作者做的宝宝起名网站
    • ¥60 版本过低apk如何修改可以兼容新的安卓系统
    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
    • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
    • ¥50 有数据,怎么用matlab求全要素生产率
    • ¥15 TI的insta-spin例程
    • ¥15 完成下列问题完成下列问题