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();
    ————————————————

  • 相关阅读:
    Element学习
    top level element is not completed
    IntelliJ IDEA 使用心得与常用快捷键
    MVC下的DAO接口类和SERVICE接口类区别?
    Emmet初探2
    Servlet和Android网络交互基础(3)
    A-Frame WebVR开发新手教程
    重温java中的String,StringBuffer,StringBuilder类
    Android 常见面试题
    <html>
  • 原文地址:https://www.cnblogs.com/interdrp/p/11582279.html
Copyright © 2011-2022 走看看