java操作excel,pdf,word等文件的方法

java 读取pdf、word、Excel文件

用到的jar:

itextpdf-5.5.8.jar   (PDF)

poi.jar

public class FileUtils {
 
    /**
     * 判断文件是否存在
     *
     * @Title: isExcite
     * @param @param filePath
     * @param @return
     * @return boolean 返回类型
     * @throws
     */
    public static boolean isExcite(String filePath) {
        File file = new File(filePath);
        // 如果文件夹不存在则创建
        if (!file.exists() && !file.isDirectory()) {
            return false;
        } else {
            return true;
        }
    }
 
    /**
     *
     * @Title: getPdfFileText
     * @Description: 获取指定位置pdf的文件内容
     * @param @param fileName
     * @param @return
     * @param @throws IOException
     * @return String 返回类型
     * @throws
     */
    public static String getPdfFileText(String fileName) throws IOException {
        PdfReader reader = new PdfReader(fileName);
        PdfReaderContentParser parser = new PdfReaderContentParser(reader);
        StringBuffer buff = new StringBuffer();
        TextExtractionStrategy strategy;
        for (int i = 1; i <= reader.getNumberOfPages(); i++) {
            strategy = parser.processContent(i,
                    new SimpleTextExtractionStrategy());
            buff.append(strategy.getResultantText());
        }
        return buff.toString();
    }
 
    /**
     * 获取doc文档
     *
     * @Title: getTextFromWord
     * @param @param filePath
     * @param @return
     * @return String 返回类型
     * @throws
     */
    public static String getTextFromWord(String filePath) {
        String result = null;
        File file = new File(filePath);
        try {
            FileInputStream fis = new FileInputStream(file);
            WordExtractor wordExtractor = new WordExtractor(fis);
            result = wordExtractor.getText();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return result;
    }
 
    /**
     * 读取excel内容
     *
     * @Title: getTextFromExcel
     * @param @param filePath
     * @param @return
     * @return String 返回类型
     * @throws
     */
    public static String getTextFromExcel(String filePath) {
        StringBuffer buff = new StringBuffer();
        try {
            // 创建对Excel工作簿文件的引用
            HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(filePath));
            // 创建对工作表的引用。
            for (int numSheets = 0; numSheets < wb.getNumberOfSheets(); numSheets++) {
                if (null != wb.getSheetAt(numSheets)) {
                    HSSFSheet aSheet = wb.getSheetAt(numSheets);// 获得一个sheet
                    for (int rowNumOfSheet = 0; rowNumOfSheet <= aSheet
                            .getLastRowNum(); rowNumOfSheet++) {
                        if (null != aSheet.getRow(rowNumOfSheet)) {
                            HSSFRow aRow = aSheet.getRow(rowNumOfSheet); // 获得一个行
                            for (int cellNumOfRow = 0; cellNumOfRow <= aRow
                                    .getLastCellNum(); cellNumOfRow++) {
                                if (null != aRow.getCell(cellNumOfRow)) {
                                    HSSFCell aCell = aRow.getCell(cellNumOfRow);// 获得列值
                                    switch (aCell.getCellType()) {
                                    case HSSFCell.CELL_TYPE_FORMULA:
                                        break;
                                    case HSSFCell.CELL_TYPE_NUMERIC:
                                        buff
                                                .append(
                                                        aCell
                                                                .getNumericCellValue())
                                                .append(‘\t‘);
                                        break;
                                    case HSSFCell.CELL_TYPE_STRING:
                                        buff.append(aCell.getStringCellValue())
                                                .append(‘\t‘);
                                        break;
                                    }
                                }
                            }
                            buff.append(‘\n‘);
                        }
                    }
                }
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return buff.toString();
    }
 
    /**
     * 替换文件内容
     * @Title: replaceContentToFile
     * @param @param path  文件路径
     * @param @param str   要替换的内容
     * @param @param con   替换称的内容
     * @return void 返回类型
     * @throws
     */
    public static void replaceContentToFile(String path, String str, String con) {
        try {
            if (isExcite(path)) {
                FileReader read = new FileReader(path);
                BufferedReader br = new BufferedReader(read);
                StringBuilder content = new StringBuilder();
                while (br.ready() != false) {
                    content.append(br.readLine());
                    content.append("\r\n");
                }
                int dex = content.indexOf(str);
                if (dex != -1) {
                    System.out.println("找到标记!");
                } else {
                    System.out.println("指定标记不存在!");
                }
                content.replace(dex, dex, con);
                br.close();
                read.close();
                FileOutputStream fs = new FileOutputStream(path);
                fs.write(content.toString().getBytes());
                fs.close();
            } else {
                System.out.println("文件不存在!");
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
 
        } catch (IOException e) {
            e.printStackTrace();
 
        }
    }
}

  留着以后直接拿过来用。

时间: 2024-10-14 09:05:34

java操作excel,pdf,word等文件的方法的相关文章

java操作Excel

一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象.它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象.它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如sheet,cell等等. 二.HSSF概况 HSSF 是Horrible SpreadSheet Format的缩写,也即“讨厌的电子表格格式”.也许HSSF的名字有点

Java 操作 Excel (读取Excel2007,Poi实现)

关于Java读取Excel2007的文章在Google.百度上搜索一下,没有太好的例子,实现的也不算太好.查看了一下Poi,最新的 POI 3.5 beta 4 支持读写 Excel2007和PPT2007(XLSX and PPTX),自己来实现Java读取Excel2007了. 1,下载 POI 3.5 beta 4 解压,把其中的jar包导入项目文件.以我的读取为例,导入了以下jar包.  没有配置 log4j,测试时报告警报信息,应该为加载顺序导致的初始化问题造成(暂时没有找原因). 2

java 操作 Excel,java导出excel

WritableWorkbook out = null; try { response.getServletResponse().reset(); ((HttpServletResponse) response.getServletResponse()).setHeader("Content-Disposition", "attachment;filename=export.xls"); response.getServletResponse().setConten

Java 操作 Excel

这次的任务是实现数据的导入/导出功能,就是用Java操作Excel,上网找了一下,就Java来说用Apache的POI库的比较多,功能也相对比较强大.其他Excel开发库: http://www.oschina.net/project/tag/258/excel-tools Apache POI 下载地址: http://poi.apache.org/download.html 废话不多说,直接给几个例子就了解怎么用了. Excel 2003 (xls后缀) 1 import java.io.F

java操作Excel处理数字类型的精度损失问题验证

java操作Excel处理数字类型的精度损失问题验证: 场景: CELL_TYPE_NUMERIC-->CELL_TYPE_STRING--->CELL_TYPE_NUMERIC POI版本:poi-3.10.1poi-3.9 Code: package poi; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.i

java 操作excel 文件

JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表.因为它是使用Java编写的,所以我们在Web应用中可以通过JSP.Servlet来调用API实现对Excel数据表的访问. 下载: 官方网站 http://www.andykhan.com/jexcelapi/ 下载最新版本(本人下的是jexcelapi_2_6

Aspose操作Excel和Word

这段时间一直在做office报表开发总结一下!Aspose操作遇到的难点. 读取出excel中的图片保存为静态图 public void ReadPic(string path, string toPath) { Common com = new Common(); int count = 1; try { string fileSaveName = String.Empty; string savePath = string.Empty; int chartNum = sheet.Charts

Java操作excel表格

最近老师布置了个任务,用Java对excel后缀名为xlsx的文件进行简单的增,删,改,查操作:虽说是个简单的程序,可作为刚接触的我来说还是有些磕磕碰碰.不过好在还是完成了,进行一个简单的总结. 首先导入了一个poi.jar 网上有很多这个资源可以下载 XSSFSheet sheet=null;XSSFWorkbook book=null; 一:查  (查找本地指定位置的excel表格,在控制台输出) public void print_excel(){ //获取excel表格的行数 int l

如何使用Java创建Excel(.xls 和 .xlsx)文件 并写入数据

1,需要依赖的jar包, <!-- POI(operate excel) start --> <!-- the version of the following POI packages must be consistent --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17&