zoukankan      html  css  js  c++  java
  • apache poi操作office文档----java在线预览txt、word、ppt、execel,pdf代码

    在页面上显示各种文档中的内容。在servlet中的逻辑

    word:

    BufferedInputStream bis = null;
      URL url = null;
      HttpURLConnection httpUrl = null; // 建立链接
      url = new URL(urlReal);
      httpUrl = (HttpURLConnection) url.openConnection();// 连接指定的资源
      httpUrl.connect();// 获取网络输入流
      bis = new BufferedInputStream(httpUrl.getInputStream());

      String bodyText = null;
      WordExtractor ex = new WordExtractor(bis);
      bodyText = ex.getText();
      response.getWriter().write(bodyText);

    excel:

    BufferedInputStream bis = null;
      URL url = null;
      HttpURLConnection httpUrl = null; // 建立链接
      url = new URL(urlReal);
      httpUrl = (HttpURLConnection) url.openConnection();// 连接指定的资源
      httpUrl.connect();// 获取网络输入流
      bis = new BufferedInputStream(httpUrl.getInputStream());  

    content = new StringBuffer();
      HSSFWorkbook workbook = new HSSFWorkbook(bis);
      for (int numSheets = 0; numSheets < workbook.getNumberOfSheets(); numSheets++) {
       HSSFSheet aSheet = workbook.getSheetAt(numSheets);// 获得一个sheet
       content.append("/n");
       if (null == aSheet) {
        continue;
       }
       for (int rowNum = 0; rowNum <= aSheet.getLastRowNum(); rowNum++) {
        content.append("/n");
        HSSFRow aRow = aSheet.getRow(rowNum);
        if (null == aRow) {
         continue;
        }
        for (short cellNum = 0; cellNum <= aRow.getLastCellNum(); cellNum++) {
         HSSFCell aCell = aRow.getCell(cellNum);
         if (null == aCell) {
          continue;
         }
         if (aCell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
          content.append(aCell.getRichStringCellValue()
            .getString());
         } else if (aCell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
          boolean b = HSSFDateUtil.isCellDateFormatted(aCell);
          if (b) {
           Date date = aCell.getDateCellValue();
           SimpleDateFormat df = new SimpleDateFormat(
             "yyyy-MM-dd");
           content.append(df.format(date));
          }
         }
        }
       }
      }
      response.getWriter().write(content.toString());

    ppt:

    BufferedInputStream bis = null;
      URL url = null;
      HttpURLConnection httpUrl = null; // 建立链接
      url = new URL(urlReal);
      httpUrl = (HttpURLConnection) url.openConnection();// 连接指定的资源
      httpUrl.connect();// 获取网络输入流
      bis = new BufferedInputStream(httpUrl.getInputStream());

    StringBuffer content = new StringBuffer("");
      SlideShow ss = new SlideShow(new HSLFSlideShow(bis));
      Slide[] slides = ss.getSlides();
      for (int i = 0; i < slides.length; i++) {
       TextRun[] t = slides[i].getTextRuns();
       for (int j = 0; j < t.length; j++) {
        content.append(t[j].getText());
       }
       content.append(slides[i].getTitle());
      }
      response.getWriter().write(content.toString());

    pdf:

    BufferedInputStream bis = null;
      URL url = null;
      HttpURLConnection httpUrl = null; // 建立链接
      url = new URL(urlReal);
      httpUrl = (HttpURLConnection) url.openConnection();// 连接指定的资源
      httpUrl.connect();// 获取网络输入流
      bis = new BufferedInputStream(httpUrl.getInputStream());

     PDDocument pdfdocument = null;
      PDFParser parser = new PDFParser(bis);
      parser.parse();
      pdfdocument = parser.getPDDocument();
      ByteArrayOutputStream out = new ByteArrayOutputStream();
      OutputStreamWriter writer = new OutputStreamWriter(out);
      PDFTextStripper stripper = new PDFTextStripper();
      stripper.writeText(pdfdocument.getDocument(), writer);
      writer.close();
      byte[] contents = out.toByteArray();

      String ts = new String(contents);
      response.getWriter().write(ts);

    txt:

    BufferedReader bis = null;
      URL url = null;
      HttpURLConnection httpUrl = null; // 建立链接
      url = new URL(urlReal);
      httpUrl = (HttpURLConnection) url.openConnection();// 连接指定的资源
      httpUrl.connect();// 获取网络输入流
      bis = new BufferedReader( new InputStreamReader(httpUrl.getInputStream()));

    StringBuffer buf=new StringBuffer();
      String temp;
      while ((temp = bis.readLine()) != null) {
       buf.append(temp);
       response.getWriter().write(temp);
       if(buf.length()>=1000){
        break;
       }
      }
      bis.close();
    ————————————————

  • 相关阅读:
    HDU 1290 献给杭电五十周年校庆的礼物(面分割空间 求得到的最大空间数目)
    2018年暑假ACM个人训练题6 解题报告
    HDU 2096 小明A+B(%的运用)
    HDU 2097 sky数 (进制转化)
    布局(codevs 1242)
    Remmarguts’ Date(poj 2449)
    魔法猪学院(codevs 1835)
    统计单词个数(codevs 1040)
    小L 的二叉树(洛谷 U4727)
    Shortest Prefixes(poj 2001)
  • 原文地址:https://www.cnblogs.com/interdrp/p/11582279.html
Copyright © 2011-2022 走看看